
                                                            
{
  "version": "1.0.0",
  "timestamp": "2026-04-03T07:19:48.823211+00:00",
  "config": {
    "mode": "full",
    "languages": [
      "javascript",
      "tsx",
      "typescript"
    ],
    "baseline_available": false,
    "ai_focus": false
  },
  "files": [
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\appearance-settings.tsx",
      "language": "tsx",
      "line_count": 136,
      "token_estimate": 1066,
      "functions": [
        {
          "name": "AppearanceSettings",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 113,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 113 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 113 lines (> 37 dynamic threshold)",
                "impact": "Function AppearanceSettings is 113 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 24,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 26,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 32,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1239,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 113,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 136,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.92,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.029412,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.65,
        "mechanical": 77.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\field-choice-card.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 464,
      "functions": [
        {
          "name": "FieldChoiceCard",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function FieldChoiceCard is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0729,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 48,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.36,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015873,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.63,
        "mechanical": 84.63,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\item-avatar.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 585,
      "functions": [
        {
          "name": "ItemAvatar",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 61,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 61 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 61 lines (> 37 dynamic threshold)",
                "impact": "Function ItemAvatar is 61 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 24,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 47,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 52,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 59,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2869,
          "ai_signals": [
            "High anti-pattern density (0.82)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 61,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.063291,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 69.18,
        "mechanical": 69.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\blocks\\page.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 236,
      "functions": [
        {
          "name": "BlocksPage",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 29,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.055556,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.71,
        "mechanical": 83.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\base-color-picker.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 654,
      "functions": [
        {
          "name": "BaseColorPicker",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 69,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 69 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 69 lines (> 37 dynamic threshold)",
                "impact": "Function BaseColorPicker is 69 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 44,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 46,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 63,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 46,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 63,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 40,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 48,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 48,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 69,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.45,
        "debug_artifacts": [],
        "ai_smell_count": 10,
        "ai_smell_density": 0.114943,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 50.0,
        "mechanical": 50.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\icon-library-picker.tsx",
      "language": "tsx",
      "line_count": 172,
      "token_estimate": 1415,
      "functions": [
        {
          "name": "IconLibraryPicker",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 112,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function IconLibraryPicker is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 122,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 137,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 148,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 122,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 137,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 148,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 133,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 137,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 146,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 60,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 172,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 10,
        "ai_smell_density": 0.05814,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 62.97,
        "mechanical": 62.97,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\preset-handler.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 229,
      "functions": [
        {
          "name": "PresetHandler",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 9,
              "description": "Function is 30 lines (> 22 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 30 lines (> 22 dynamic threshold)",
                "impact": "Function PresetHandler is 30 lines \u2014 exceeds 22 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 14,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 20,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.75,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.076923,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.77,
        "mechanical": 74.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\reset-button.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 261,
      "functions": [
        {
          "name": "ResetDialog",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0178,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\hooks\\use-history.tsx",
      "language": "tsx",
      "line_count": 146,
      "token_estimate": 958,
      "functions": [
        {
          "name": "HistoryProvider",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 123,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 123 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 123 lines (> 37 dynamic threshold)",
                "impact": "Function HistoryProvider is 123 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 26,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 27,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 29,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 53,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 71,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 92,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 95,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2561,
          "ai_signals": [
            "High anti-pattern density (0.73)"
          ]
        },
        {
          "name": "useHistory",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 65,
        "function_length_stddev": 82.02,
        "import_count": 2,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 146,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.23,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.061644,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 65.59,
        "mechanical": 65.59,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\lib\\constants.ts",
      "language": "typescript",
      "line_count": 4,
      "token_estimate": 31,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 4,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\authentication\\components\\user-auth-form.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 434,
      "functions": [
        {
          "name": "UserAuthForm",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function UserAuthForm is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-missing-loading-states",
              "severity": "medium",
              "line": 52,
              "description": "Async operation without loading indicator - user sees stale data or blank screen with no feedback",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-missing-loading-states",
              "severity": "medium",
              "line": 60,
              "description": "Async operation without loading indicator - user sees stale data or blank screen with no feedback",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2143,
          "ai_signals": [
            "High anti-pattern density (0.61)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.02,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.045455,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.94,
        "mechanical": 71.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\dashboard\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 111,
      "token_estimate": 845,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 79,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 32,
              "description": "Function is 79 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 79 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 79 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1329,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 79,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 111,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.1,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.027027,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.99,
        "mechanical": 76.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\playground\\components\\preset-actions.tsx",
      "language": "tsx",
      "line_count": 122,
      "token_estimate": 1015,
      "functions": [
        {
          "name": "PresetActions",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 86,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 36,
              "description": "Function is 86 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 86 lines (> 37 dynamic threshold)",
                "impact": "Function PresetActions is 86 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 41,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 37,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 38,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1628,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 86,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 122,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.32,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.032787,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.8,
        "mechanical": 76.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\playground\\page.tsx",
      "language": "tsx",
      "line_count": 333,
      "token_estimate": 3394,
      "functions": [
        {
          "name": "PlaygroundPage",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 332,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 295,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 38,
              "description": "Function is 295 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 295 lines (> 37 dynamic threshold)",
                "impact": "Function PlaygroundPage is 295 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 61,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 251,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 252,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 253,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 254,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 40,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 43,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 50,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1068,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 295,
        "function_length_stddev": 0.0,
        "import_count": 20,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 333,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.027027,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.24,
        "mechanical": 78.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\field-demo.tsx",
      "language": "tsx",
      "line_count": 217,
      "token_estimate": 1832,
      "functions": [
        {
          "name": "formatCardNumber",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "formatCvv",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getMonths",
          "type": "function_declaration",
          "line_start": 78,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getYears",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "FieldDemo",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 216,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 120,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 97,
              "description": "Function is 120 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 120 lines (> 37 dynamic threshold)",
                "impact": "Function FieldDemo is 120 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 99,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 99,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0875,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 28.8,
        "function_length_stddev": 51.06,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 217,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.52,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.013825,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.49,
        "mechanical": 90.49,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\spinner-badge.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 237,
      "functions": [
        {
          "name": "SpinnerBadge",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 24,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 24,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.34,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.045455,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.79,
        "mechanical": 83.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\tasks\\components\\data-table-toolbar.tsx",
      "language": "tsx",
      "line_count": 65,
      "token_estimate": 477,
      "functions": [
        {
          "name": "DataTableToolbar",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function DataTableToolbar is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 34,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 41,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 59,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 27,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 27,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 27,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 29,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 48,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 65,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.123077,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 53.6,
        "mechanical": 53.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\layout.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 131,
      "functions": [
        {
          "name": "AppLayout",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.84,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(create)\\init\\v0\\route.ts",
      "language": "typescript",
      "line_count": 45,
      "token_estimate": 319,
      "functions": [
        {
          "name": "GET",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 1
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 9,
              "description": "Function is 36 lines (> 30 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 36 lines (> 30 dynamic threshold)",
                "impact": "Function GET is 36 lines \u2014 exceeds 30 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0972,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 44,
        "comment_ratio": 0.0222,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.33,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022727,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.02,
        "mechanical": 68.02,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\og\\route.tsx",
      "language": "tsx",
      "line_count": 118,
      "token_estimate": 850,
      "functions": [
        {
          "name": "loadAssets",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "GET",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 80,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 38,
              "description": "Function is 80 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 80 lines (> 37 dynamic threshold)",
                "impact": "Function GET is 80 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1296,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 57,
        "function_length_stddev": 32.53,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 118,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.45,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008475,
        "structural_uniformity": 0.4294,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.28,
        "mechanical": 81.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\blocks-nav.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 366,
      "functions": [
        {
          "name": "BlocksNav",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 16,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 21,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 16,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5377,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.94)"
          ]
        },
        {
          "name": "BlocksNavLink",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1877,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.94)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 23,
        "function_length_stddev": 1.41,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.053571,
        "structural_uniformity": 0.9385,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.96,
        "mechanical": 79.96,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\forms.tsx",
      "language": "tsx",
      "line_count": 141,
      "token_estimate": 1137,
      "functions": [
        {
          "name": "CardsForms",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 97,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 44,
              "description": "Function is 97 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 97 lines (> 37 dynamic threshold)",
                "impact": "Function CardsForms is 97 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 105,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0722,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 97,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 141,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.74,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014184,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.45,
        "mechanical": 81.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\chart-code-viewer.tsx",
      "language": "tsx",
      "line_count": 121,
      "token_estimate": 921,
      "functions": [
        {
          "name": "ChartCodeViewer",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 94,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 27,
              "description": "Function is 94 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 94 lines (> 37 dynamic threshold)",
                "impact": "Function ChartCodeViewer is 94 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 68,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 71,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 66,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1862,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 72,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 94,
        "function_length_stddev": 0.0,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 121,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.64,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.041322,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 70.67,
        "mechanical": 70.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\code-tabs.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 164,
      "functions": [
        {
          "name": "CodeTabs",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 19,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 19,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.074074,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.78,
        "mechanical": 78.78,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\component-source.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 682,
      "functions": [
        {
          "name": "ComponentSource",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 11,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 74,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 74 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 74 lines (> 15 dynamic threshold)",
                "impact": "Function ComponentSource is 74 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 77,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 40,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 40,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 59,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5562,
          "ai_signals": [
            "High anti-pattern density (0.81)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "ComponentCode",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 110,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 111,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 111,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.6224,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 111,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 51,
        "function_length_stddev": 32.53,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 114,
        "comment_ratio": 0.0087,
        "comment_what_ratio": 1.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.078947,
        "structural_uniformity": 0.3622,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 57.8,
        "mechanical": 57.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\docs-copy-page.tsx",
      "language": "tsx",
      "line_count": 224,
      "token_estimate": 2914,
      "functions": [
        {
          "name": "getPromptUrl",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0179,
          "ai_signals": []
        },
        {
          "name": "markdown",
          "type": "arrow_function",
          "line_start": 30,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 31,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2871,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        },
        {
          "name": "v0",
          "type": "arrow_function",
          "line_start": 43,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 44,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2238,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        },
        {
          "name": "chatgpt",
          "type": "arrow_function",
          "line_start": 60,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 61,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2512,
          "ai_signals": [
            "High anti-pattern density (0.67)"
          ]
        },
        {
          "name": "claude",
          "type": "arrow_function",
          "line_start": 75,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 76,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2512,
          "ai_signals": [
            "High anti-pattern density (0.67)"
          ]
        },
        {
          "name": "scira",
          "type": "arrow_function",
          "line_start": 90,
          "line_end": 153,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 64,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 90,
              "description": "Function is 64 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 64 lines (> 37 dynamic threshold)",
                "impact": "Function scira is 64 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 91,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "DocsCopyPage",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 223,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 156,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function DocsCopyPage is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0694,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 28.43,
        "function_length_stddev": 25.88,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 224,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.74,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.03125,
        "structural_uniformity": 0.0895,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.3,
        "mechanical": 86.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\main-nav.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 236,
      "functions": [
        {
          "name": "MainNav",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\page-nav.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 87,
      "functions": [
        {
          "name": "PageNav",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.21,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\theme-selector.tsx",
      "language": "tsx",
      "line_count": 65,
      "token_estimate": 431,
      "functions": [
        {
          "name": "ThemeSelector",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function ThemeSelector is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 65,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.13,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015385,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.1,
        "mechanical": 84.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\accordion-multiple.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 331,
      "functions": [
        {
          "name": "AccordionMultiple",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\alert-dialog-demo.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 262,
      "functions": [
        {
          "name": "AlertDialogDemo",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0175,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\aspect-ratio-portrait.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 113,
      "functions": [
        {
          "name": "AspectRatioPortrait",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\avatar-group-count-icon.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 213,
      "functions": [
        {
          "name": "AvatarGroupCountIconExample",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 15,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 19,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 24,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.07,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.085714,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.37,
        "mechanical": 74.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\badge-link.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 66,
      "functions": [
        {
          "name": "BadgeAsLink",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\breadcrumb-link.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 208,
      "functions": [
        {
          "name": "BreadcrumbLinkDemo",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 17,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 23,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3122,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.47,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.057143,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.81,
        "mechanical": 81.81,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-group-dropdown.tsx",
      "language": "tsx",
      "line_count": 74,
      "token_estimate": 493,
      "functions": [
        {
          "name": "ButtonGroupDropdown",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupDropdown is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0836,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 74,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.73,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013514,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.92,
        "mechanical": 84.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-group-separator.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 108,
      "functions": [
        {
          "name": "ButtonGroupSeparatorDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-rtl.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 354,
      "functions": [
        {
          "name": "ButtonRtl",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\calendar-custom-days.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 405,
      "functions": [
        {
          "name": "CalendarCustomDays",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarCustomDays is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 21,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1667,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.038462,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.78,
        "mechanical": 80.78,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\calendar-week-numbers.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 152,
      "functions": [
        {
          "name": "CalendarWeekNumbers",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\carousel-orientation.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 251,
      "functions": [
        {
          "name": "CarouselOrientation",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.9,
        "mechanical": 94.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\chart-example-legend.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 359,
      "functions": [
        {
          "name": "ChartBarDemoLegend",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 38,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 47,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.59,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.055556,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.11,
        "mechanical": 83.11,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\checkbox-disabled.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 139,
      "functions": [
        {
          "name": "CheckboxDisabled",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\collapsible-rtl.tsx",
      "language": "tsx",
      "line_count": 93,
      "token_estimate": 669,
      "functions": [
        {
          "name": "CollapsibleRtl",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 58,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0946,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 93,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010753,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.21,
        "mechanical": 89.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\combobox-groups.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 427,
      "functions": [
        {
          "name": "ComboboxWithGroupsAndSeparator",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.41,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\command-dialog.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 594,
      "functions": [
        {
          "name": "CommandDialogDemo",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 64,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 64 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 64 lines (> 37 dynamic threshold)",
                "impact": "Function CommandDialogDemo is 64 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 40,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 25,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 27,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 64,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.87,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.045455,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.64,
        "mechanical": 73.64,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\context-menu-destructive.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 312,
      "functions": [
        {
          "name": "ContextMenuDestructive",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import { ArchiveIcon, PencilIcon, ShareIcon, TrashIcon } from \"lucide-react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'ArchiveIcon' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { ArchiveIcon, PencilIcon, ShareIcon, TrashIcon } from \"lucide-react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.13,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\data-picker-with-dropdowns.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 421,
      "functions": [
        {
          "name": "DataPickerWithDropdowns",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 16,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function DataPickerWithDropdowns is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1591,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.55,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.97,
        "mechanical": 78.97,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\date-picker-range.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 443,
      "functions": [
        {
          "name": "DatePickerWithRange",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerWithRange is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 39,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 37,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 53,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3043,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.39,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.063492,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.33,
        "mechanical": 68.33,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dialog-sticky-footer.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 409,
      "functions": [
        {
          "name": "DialogStickyFooter",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dropdown-menu-checkboxes-icons.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 463,
      "functions": [
        {
          "name": "DropdownMenuCheckboxesIcons",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 16,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuCheckboxesIcons is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1666,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.06,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.031746,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.96,
        "mechanical": 80.96,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dropdown-menu-rtl.tsx",
      "language": "tsx",
      "line_count": 247,
      "token_estimate": 1910,
      "functions": [
        {
          "name": "DropdownMenuRtl",
          "type": "function_declaration",
          "line_start": 122,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 125,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 122,
              "description": "Function is 125 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 125 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuRtl is 125 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 124,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 125,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 126,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 127,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1432,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 125,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 247,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.19,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.020243,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.44,
        "mechanical": 67.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\empty-input-group.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 282,
      "functions": [
        {
          "name": "EmptyInputGroup",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.81,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.9,
        "mechanical": 94.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\field-input.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 219,
      "functions": [
        {
          "name": "FieldInput",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\file-upload-list.tsx",
      "language": "tsx",
      "line_count": 70,
      "token_estimate": 391,
      "functions": [
        {
          "name": "FileUploadList",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 16,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function FileUploadList is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1296,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 54,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 70,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.95,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.028571,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.66,
        "mechanical": 79.66,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-disabled.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 124,
      "functions": [
        {
          "name": "InputDisabled",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-block-start.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 436,
      "functions": [
        {
          "name": "InputGroupBlockStart",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupBlockStart is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 39,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.175,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.05,
        "debug_artifacts": [
          "console.log line 39"
        ],
        "ai_smell_count": 2,
        "ai_smell_density": 0.034483,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.38,
        "mechanical": 80.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-inline-end.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 186,
      "functions": [
        {
          "name": "InputGroupInlineEnd",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-textarea.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 341,
      "functions": [
        {
          "name": "InputGroupTextareaExample",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 22,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.76,
        "debug_artifacts": [
          "console.log line 22"
        ],
        "ai_smell_count": 1,
        "ai_smell_density": 0.021277,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.38,
        "mechanical": 86.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-invalid.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 116,
      "functions": [
        {
          "name": "InputInvalid",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-otp-pattern.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 187,
      "functions": [
        {
          "name": "InputOTPPattern",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 19,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 20,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 21,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 22,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.206897,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.9,
        "mechanical": 72.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\item-group.tsx",
      "language": "tsx",
      "line_count": 64,
      "token_estimate": 390,
      "functions": [
        {
          "name": "ItemGroupExample",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 10,
              "description": "Unused import: import {\n  Item,\n  ItemActions,\n  ItemContent,\n  ItemDescription,\n  ItemGroup,\n  ItemMedia,\n  ItemSeparator,\n  ItemTitle,\n} from \"@/styles/base-nova/ui/item\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'ItemSeparator' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Item,\n  ItemActions,\n  ItemContent,\n  ItemDescription,\n  ItemGroup,\n  ItemMedia,\n  ItemSeparator,\n  ItemTitle,\n} from \"@/styles/base-nova/ui/item\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 64,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.92,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015625,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 2
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.59,
        "mechanical": 91.59,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\kbd-button.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 76,
      "functions": [
        {
          "name": "KbdButton",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\menubar-checkbox.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 309,
      "functions": [
        {
          "name": "MenubarCheckbox",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0188,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.13,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\native-select-disabled.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 118,
      "functions": [
        {
          "name": "NativeSelectDisabled",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0112,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\pagination-icons-only.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 362,
      "functions": [
        {
          "name": "PaginationIconsOnly",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\progress-controlled.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 135,
      "functions": [
        {
          "name": "ProgressControlled",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 13,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 14,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 16,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 16,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 9,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.65,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.208333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.2,
        "mechanical": 73.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\radio-group-disabled.tsx",
      "language": "tsx",
      "line_count": 28,
      "token_estimate": 239,
      "functions": [
        {
          "name": "RadioGroupDisabled",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.72,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\scroll-area-demo.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 171,
      "functions": [
        {
          "name": "ScrollAreaDemo",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\select-rtl.tsx",
      "language": "tsx",
      "line_count": 127,
      "token_estimate": 733,
      "functions": [
        {
          "name": "SelectRtl",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 72,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function SelectRtl is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0636,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 5,
              "description": "Unused import: import {\n  useTranslation,\n  type Language,\n  type Translations,\n} from \"@/components/language-selector\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Language' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  useTranslation,\n  type Language,\n  type Translations,\n} from \"@/components/language-selector\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 55,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 127,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007874,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.28,
        "mechanical": 83.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sheet-no-close-button.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 179,
      "functions": [
        {
          "name": "SheetNoCloseButton",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-group.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 279,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0302,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.81,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-rtl.tsx",
      "language": "tsx",
      "line_count": 522,
      "token_estimate": 3941,
      "functions": [
        {
          "name": "SidebarRtl",
          "type": "function_declaration",
          "line_start": 187,
          "line_end": 193,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "AppSidebarWithProvider",
          "type": "function_declaration",
          "line_start": 195,
          "line_end": 210,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 201,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        },
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 212,
          "line_end": 284,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 73,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 212,
              "description": "Function is 73 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 73 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 73 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 275,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0959,
          "ai_signals": []
        },
        {
          "name": "SidebarContentInner",
          "type": "function_declaration",
          "line_start": 286,
          "line_end": 521,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 236,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 286,
              "description": "Function is 236 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 236 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarContentInner is 236 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 350,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 361,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 379,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 439,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 459,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 316,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 358,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1186,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 83,
        "function_length_stddev": 106.1,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 522,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.92,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.021073,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.48,
        "mechanical": 78.48,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\slider-controlled.tsx",
      "language": "tsx",
      "line_count": 30,
      "token_estimate": 193,
      "functions": [
        {
          "name": "SliderControlled",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 22,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 22,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 9,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 30,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.65,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.1,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.4,
        "mechanical": 71.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sonner-description.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 97,
      "functions": [
        {
          "name": "SonnerDescription",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\spinner-input-group.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 241,
      "functions": [
        {
          "name": "SpinnerInputGroup",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.08,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\switch-rtl.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 334,
      "functions": [
        {
          "name": "SwitchRtl",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\tabs-icons.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 115,
      "functions": [
        {
          "name": "TabsIcons",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\textarea-invalid.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 125,
      "functions": [
        {
          "name": "TextareaInvalid",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-group-rtl.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 276,
      "functions": [
        {
          "name": "ToggleGroupRtl",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\tooltip-demo.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 101,
      "functions": [
        {
          "name": "TooltipDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-h2.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 47,
      "functions": [
        {
          "name": "TypographyH2",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-p.tsx",
      "language": "tsx",
      "line_count": 9,
      "token_estimate": 59,
      "functions": [
        {
          "name": "TypographyP",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 8,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 9,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\accordion-disabled.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 332,
      "functions": [
        {
          "name": "AccordionDisabled",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\alert-dialog-basic.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 267,
      "functions": [
        {
          "name": "AlertDialogBasic",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.01,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.6,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\aspect-ratio-demo.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 122,
      "functions": [
        {
          "name": "AspectRatioDemo",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\avatar-dropdown.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 300,
      "functions": [
        {
          "name": "AvatarDropdown",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 22,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1402,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.01,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.4,
        "mechanical": 89.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\badge-icon.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 111,
      "functions": [
        {
          "name": "BadgeWithIconLeft",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\breadcrumb-ellipsis.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 242,
      "functions": [
        {
          "name": "BreadcrumbEllipsisDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 19,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 29,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2783,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.14,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.05,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.4,
        "mechanical": 82.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-ghost.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 36,
      "functions": [
        {
          "name": "ButtonGhost",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-group-rtl.tsx",
      "language": "tsx",
      "line_count": 179,
      "token_estimate": 1300,
      "functions": [
        {
          "name": "ButtonGroupRtl",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 178,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 92,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 87,
              "description": "Function is 92 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 92 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupRtl is 92 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 89,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0761,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 92,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 179,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.14,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.011173,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.71,
        "mechanical": 74.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-rounded.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 80,
      "functions": [
        {
          "name": "ButtonRounded",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\calendar-caption.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 58,
      "functions": [
        {
          "name": "CalendarCaption",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\calendar-time.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 534,
      "functions": [
        {
          "name": "CalendarWithTime",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 52,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 52 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 52 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarWithTime is 52 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0673,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 52,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.67,
        "mechanical": 83.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\carousel-multiple.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 253,
      "functions": [
        {
          "name": "CarouselMultiple",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\chart-example-grid.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 261,
      "functions": [
        {
          "name": "ChartBarDemoGrid",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 31,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.92,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.026316,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.12,
        "mechanical": 93.12,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\checkbox-description.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 194,
      "functions": [
        {
          "name": "CheckboxDescription",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\collapsible-file-tree.tsx",
      "language": "tsx",
      "line_count": 121,
      "token_estimate": 840,
      "functions": [
        {
          "name": "CollapsibleFileTree",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 107,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 107 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 107 lines (> 37 dynamic threshold)",
                "impact": "Function CollapsibleFileTree is 107 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0327,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 107,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 121,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.12,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008264,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.93,
        "mechanical": 82.93,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\combobox-disabled.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 178,
      "functions": [
        {
          "name": "ComboboxDisabled",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\command-demo.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 382,
      "functions": [
        {
          "name": "CommandDemo",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function CommandDemo is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.77,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015873,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.43,
        "mechanical": 86.43,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\context-menu-demo.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 725,
      "functions": [
        {
          "name": "ContextMenuDemo",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuDemo is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0797,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.55,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012048,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.99,
        "mechanical": 81.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\context-menu-submenu.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 474,
      "functions": [
        {
          "name": "ContextMenuSubmenu",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuSubmenu is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0935,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.84,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017241,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.49,
        "mechanical": 85.49,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\date-picker-natural-language.tsx",
      "language": "tsx",
      "line_count": 102,
      "token_estimate": 705,
      "functions": [
        {
          "name": "formatDate",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DatePickerNaturalLanguage",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 69,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 69 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 69 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerNaturalLanguage is 69 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 34,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 35,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1522,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 40,
        "function_length_stddev": 41.01,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 102,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.029412,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.65,
        "mechanical": 79.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dialog-scrollable-content.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 363,
      "functions": [
        {
          "name": "DialogScrollableContent",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dropdown-menu-basic.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 251,
      "functions": [
        {
          "name": "DropdownMenuBasic",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0342,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 12.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dropdown-menu-radio-icons.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 367,
      "functions": [
        {
          "name": "DropdownMenuRadioIcons",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1211,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.9,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.1,
        "mechanical": 88.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\empty-demo.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 277,
      "functions": [
        {
          "name": "EmptyDemo",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\field-group.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 422,
      "functions": [
        {
          "name": "FieldGroupExample",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function FieldGroupExample is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0814,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.46,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.018519,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.47,
        "mechanical": 85.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\field-textarea.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 169,
      "functions": [
        {
          "name": "FieldTextarea",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-demo.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 116,
      "functions": [
        {
          "name": "InputDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-block-end.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 361,
      "functions": [
        {
          "name": "InputGroupBlockEnd",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.47,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-in-card.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 617,
      "functions": [
        {
          "name": "InputGroupInCard",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupInCard is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0603,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 13,
              "description": "Unused import: import { Input } from \"@/styles/radix-nova/ui/input\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Input' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Input } from \"@/styles/radix-nova/ui/input\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 80,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.93,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.0125,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.47,
        "mechanical": 82.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-textarea-examples.tsx",
      "language": "tsx",
      "line_count": 157,
      "token_estimate": 1256,
      "functions": [
        {
          "name": "InputGroupTextareaExamples",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 132,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 132 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 132 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupTextareaExamples is 132 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 133,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.053,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 15,
              "description": "Unused import: import { Input } from \"@/styles/radix-nova/ui/input\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Input' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Input } from \"@/styles/radix-nova/ui/input\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 132,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 157,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.93,
        "debug_artifacts": [
          "console.log line 133"
        ],
        "ai_smell_count": 2,
        "ai_smell_density": 0.012739,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.82,
        "mechanical": 79.82,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-input-group.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 172,
      "functions": [
        {
          "name": "InputInputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-otp-invalid.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 207,
      "functions": [
        {
          "name": "InputOTPInvalid",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 19,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 28,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 29,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 13,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.14,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.205882,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.4,
        "mechanical": 71.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\item-dropdown.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 506,
      "functions": [
        {
          "name": "ItemDropdown",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 59,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1061,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.84,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012987,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.85,
        "mechanical": 89.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\item-variant.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 308,
      "functions": [
        {
          "name": "ItemVariant",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function ItemVariant is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.63,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.3,
        "mechanical": 86.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\label-rtl.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 209,
      "functions": [
        {
          "name": "LabelRtl",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.63,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\native-select-demo.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 137,
      "functions": [
        {
          "name": "NativeSelectDemo",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0067,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\pagination-demo.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 237,
      "functions": [
        {
          "name": "PaginationDemo",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.038,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 12.28,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\popover-rtl.tsx",
      "language": "tsx",
      "line_count": 76,
      "token_estimate": 422,
      "functions": [
        {
          "name": "PopoverRtl",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 76,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.01,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\radio-group-description.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 319,
      "functions": [
        {
          "name": "RadioGroupDescription",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\resizable-vertical.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 188,
      "functions": [
        {
          "name": "ResizableVertical",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\select-invalid.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 212,
      "functions": [
        {
          "name": "SelectInvalid",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sheet-demo.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 361,
      "functions": [
        {
          "name": "SheetDemo",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.43,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-group-collapsible.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 462,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.64,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015873,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.73,
        "mechanical": 86.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-rsc.tsx",
      "language": "tsx",
      "line_count": 111,
      "token_estimate": 538,
      "functions": [
        {
          "name": "fetchProjects",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0949,
          "ai_signals": []
        },
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0949,
          "ai_signals": []
        },
        {
          "name": "NavProjectsSkeleton",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0949,
          "ai_signals": []
        },
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 101,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2893,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.75,
        "function_length_stddev": 6.7,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 110,
        "comment_ratio": 0.009,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.64,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009091,
        "structural_uniformity": 0.4744,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.9,
        "mechanical": 96.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\skeleton-text.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 76,
      "functions": [
        {
          "name": "SkeletonText",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sonner-demo.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 119,
      "functions": [
        {
          "name": "SonnerDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "console-log-production",
              "severity": "low",
              "line": 16,
              "description": "console.log left in production code",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "ast-grep-pattern",
                "proof": "console.log left in production code",
                "impact": "Debug logging at line 16 pollutes production output and may leak sensitive data",
                "recommendation": "Remove the console statement or replace with a structured logger",
                "confidence": 1.0,
                "fix_type": "deterministic",
                "references": [
                  "https://eslint.org/docs/latest/rules/no-console"
                ]
              }
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 16,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.75,
        "debug_artifacts": [
          "console.log line 16"
        ],
        "ai_smell_count": 2,
        "ai_smell_density": 0.08,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.6,
        "mechanical": 75.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\spinner-empty.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 194,
      "functions": [
        {
          "name": "SpinnerEmpty",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\switch-invalid.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 152,
      "functions": [
        {
          "name": "SwitchInvalid",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.31,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\tabs-disabled.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 86,
      "functions": [
        {
          "name": "TabsDisabled",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\textarea-field.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 110,
      "functions": [
        {
          "name": "TextareaField",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.53,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-group-outline.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 109,
      "functions": [
        {
          "name": "ToggleGroupOutline",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-text.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 58,
      "functions": [
        {
          "name": "ToggleText",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.29,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-h1.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 51,
      "functions": [
        {
          "name": "TypographyH1",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-muted.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 33,
      "functions": [
        {
          "name": "TypographyMuted",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\hooks\\use-layout.tsx",
      "language": "tsx",
      "line_count": 164,
      "token_estimate": 1029,
      "functions": [
        {
          "name": "saveToLS",
          "type": "arrow_function",
          "line_start": 27,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 1
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "useLayout",
          "type": "arrow_function",
          "line_start": 35,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Layout",
          "type": "arrow_function",
          "line_start": 43,
          "line_end": 153,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 111,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 111 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 111 lines (> 37 dynamic threshold)",
                "impact": "Function Layout is 111 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 123,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 69,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 95,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 112,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 128,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 134,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 135,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2523,
          "ai_signals": [
            "High anti-pattern density (0.72)"
          ]
        },
        {
          "name": "LayoutProvider",
          "type": "arrow_function",
          "line_start": 155,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 160,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 159,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 33,
        "function_length_stddev": 52.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 5,
        "code_lines": 159,
        "comment_ratio": 0.0305,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.14,
        "debug_artifacts": [],
        "ai_smell_count": 10,
        "ai_smell_density": 0.062893,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.25,
        "mechanical": 73.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\categories.ts",
      "language": "typescript",
      "line_count": 28,
      "token_estimate": 99,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.54,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\font-definitions.ts",
      "language": "typescript",
      "line_count": 307,
      "token_estimate": 2072,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 307,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\rehype.ts",
      "language": "typescript",
      "line_count": 222,
      "token_estimate": 1436,
      "functions": [
        {
          "name": "getBaseForStyle",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getDemoFilePath",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 29,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "getRegistryEntry",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 39,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "rehypeComponent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 200,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 129,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 72,
              "description": "Function is 129 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 129 lines (> 37 dynamic threshold)",
                "impact": "Function rehypeComponent is 129 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 79,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 86,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 87,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 91,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 107,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 109,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 79,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 86,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 87,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 91,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 107,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 109,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 86,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 87,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 91,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 107,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 109,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 144,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 158,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 172,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 195,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "getNodeAttributeByName",
          "type": "function_declaration",
          "line_start": 202,
          "line_end": 204,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 203,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "isTruthyMdxAttribute",
          "type": "function_declaration",
          "line_start": 206,
          "line_end": 221,
          "metrics": {
            "cyclomatic_complexity": 7,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 28.83,
        "function_length_stddev": 49.25,
        "import_count": 10,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 222,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [
          "console.error line 195"
        ],
        "ai_smell_count": 26,
        "ai_smell_density": 0.117117,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 59.93,
        "mechanical": 59.93,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\_legacy-base-colors.ts",
      "language": "typescript",
      "line_count": 1790,
      "token_estimate": 22849,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 4,
        "comment_lines": 0,
        "code_lines": 1790,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\dashboard-01\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 282,
      "token_estimate": 1623,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 248,
          "line_end": 281,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 272,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 273,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 274,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 277,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 282,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.21,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.014184,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.25,
        "mechanical": 89.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\dashboard-01\\components\\site-header.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 175,
      "functions": [
        {
          "name": "SiteHeader",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\login-04\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 106,
      "token_estimate": 1513,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 93,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 93 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 93 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 93 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 91,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0753,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 93,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 106,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.89,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.018868,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.28,
        "mechanical": 80.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\claimable-balance.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 520,
      "functions": [
        {
          "name": "ClaimableBalance",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function ClaimableBalance is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0745,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.36,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.73,
        "mechanical": 84.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\front-door.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 320,
      "functions": [
        {
          "name": "FrontDoor",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\power-usage.tsx",
      "language": "tsx",
      "line_count": 97,
      "token_estimate": 691,
      "functions": [
        {
          "name": "PowerUsage",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 40,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function PowerUsage is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 60,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 90,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1842,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 97,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.23,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.030928,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.17,
        "mechanical": 78.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\savings-targets.tsx",
      "language": "tsx",
      "line_count": 155,
      "token_estimate": 1338,
      "functions": [
        {
          "name": "SavingsTargets",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 36,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function SavingsTargets is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 59,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 78,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0882,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 155,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.019355,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.16,
        "mechanical": 80.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\activate-agent-dialog.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 750,
      "functions": [
        {
          "name": "ActivateAgentDialog",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 57,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function ActivateAgentDialog is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0745,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 103,
        "comment_ratio": 0.0096,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.02,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009709,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.47,
        "mechanical": 86.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\contributions-activity.tsx",
      "language": "tsx",
      "line_count": 64,
      "token_estimate": 462,
      "functions": [
        {
          "name": "ContributionsActivity",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ContributionsActivity is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0854,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 64,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.94,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015625,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.79,
        "mechanical": 86.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\invoice.tsx",
      "language": "tsx",
      "line_count": 116,
      "token_estimate": 831,
      "functions": [
        {
          "name": "formatCurrency",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Invoice",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 71,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 71 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 71 lines (> 37 dynamic threshold)",
                "impact": "Function Invoice is 71 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0493,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 14,
              "description": "Unused import: import {\n  Table,\n  TableBody,\n  TableCell,\n  TableFooter,\n  TableHead,\n  TableHeader,\n  TableRow,\n} from \"@/registry/bases/base/ui/table\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'TableFooter' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Table,\n  TableBody,\n  TableCell,\n  TableFooter,\n  TableHead,\n  TableHeader,\n  TableRow,\n} from \"@/registry/bases/base/ui/table\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 39,
        "function_length_stddev": 45.25,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 116,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.92,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008621,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.14,
        "mechanical": 89.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\shortcuts.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 411,
      "functions": [
        {
          "name": "Shortcuts",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.83,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\weekly-fitness-summary.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 407,
      "functions": [
        {
          "name": "WeeklyFitnessSummary",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 44,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 44,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2,
          "ai_signals": [
            "High anti-pattern density (0.57)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.08,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.17,
        "mechanical": 84.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-02\\components\\version-switcher.tsx",
      "language": "tsx",
      "line_count": 86,
      "token_estimate": 665,
      "functions": [
        {
          "name": "VersionSwitcher",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function VersionSwitcher is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 25,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1029,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 68,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 86,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.87,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.023256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.19,
        "mechanical": 79.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-05\\page.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 446,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.51,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-07\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 144,
      "token_estimate": 1160,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 45,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0882,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 144,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.02,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.54,
        "mechanical": 78.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-08\\page.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 480,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.37,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.84,
        "mechanical": 86.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-10\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 242,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 31,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1207,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.31,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.023256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.49,
        "mechanical": 88.49,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-12\\components\\date-picker.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 169,
      "functions": [
        {
          "name": "DatePicker",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-15\\components\\date-picker.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 169,
      "functions": [
        {
          "name": "DatePicker",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-15\\components\\team-switcher.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 821,
      "functions": [
        {
          "name": "TeamSwitcher",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 83,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 83 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 83 lines (> 37 dynamic threshold)",
                "impact": "Function TeamSwitcher is 83 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 31,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0843,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 83,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.36,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.019048,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.74,
        "mechanical": 74.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-16\\components\\site-header.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 454,
      "functions": [
        {
          "name": "SiteHeader",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function SiteHeader is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0875,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.1,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017544,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.61,
        "mechanical": 86.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\signup-04\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 1631,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 102,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 102 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 102 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 102 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 100,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0686,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 102,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.03,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017391,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.65,
        "mechanical": 80.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\alert-dialog-example.tsx",
      "language": "tsx",
      "line_count": 231,
      "token_estimate": 1913,
      "functions": [
        {
          "name": "AlertDialogExample",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1353,
          "ai_signals": []
        },
        {
          "name": "AlertDialogBasic",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2812,
          "ai_signals": []
        },
        {
          "name": "AlertDialogSmall",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.302,
          "ai_signals": []
        },
        {
          "name": "AlertDialogWithMedia",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 93,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2414,
          "ai_signals": []
        },
        {
          "name": "AlertDialogSmallWithMedia",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 127,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2414,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDestructive",
          "type": "function_declaration",
          "line_start": 157,
          "line_end": 190,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 161,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2383,
          "ai_signals": []
        },
        {
          "name": "AlertDialogInDialog",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 230,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 192,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function AlertDialogInDialog is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2251,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 28,
        "function_length_stddev": 9.38,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 231,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.14,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.025974,
        "structural_uniformity": 0.665,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.11,
        "mechanical": 88.11,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\calendar-example.tsx",
      "language": "tsx",
      "line_count": 543,
      "token_estimate": 3952,
      "functions": [
        {
          "name": "CalendarExample",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0963,
          "ai_signals": []
        },
        {
          "name": "CalendarInCard",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0963,
          "ai_signals": []
        },
        {
          "name": "CalendarInPopover",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0963,
          "ai_signals": []
        },
        {
          "name": "CalendarSingle",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0963,
          "ai_signals": []
        },
        {
          "name": "CalendarMultiple",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0963,
          "ai_signals": []
        },
        {
          "name": "CalendarRange",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 134,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.217,
          "ai_signals": []
        },
        {
          "name": "CalendarRangeMultipleMonths",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 175,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 164,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2213,
          "ai_signals": []
        },
        {
          "name": "CalendarBookedDates",
          "type": "function_declaration",
          "line_start": 177,
          "line_end": 207,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0963,
          "ai_signals": []
        },
        {
          "name": "CalendarWithTime",
          "type": "function_declaration",
          "line_start": 209,
          "line_end": 276,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 209,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarWithTime is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1478,
          "ai_signals": []
        },
        {
          "name": "CalendarCustomDays",
          "type": "function_declaration",
          "line_start": 278,
          "line_end": 321,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 278,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarCustomDays is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 290,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2554,
          "ai_signals": []
        },
        {
          "name": "CalendarWithPresets",
          "type": "function_declaration",
          "line_start": 323,
          "line_end": 373,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 323,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarWithPresets is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1649,
          "ai_signals": []
        },
        {
          "name": "DatePickerSimple",
          "type": "function_declaration",
          "line_start": 375,
          "line_end": 409,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0963,
          "ai_signals": []
        },
        {
          "name": "DatePickerWithRange",
          "type": "function_declaration",
          "line_start": 411,
          "line_end": 465,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 411,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerWithRange is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 441,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 439,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 455,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3508,
          "ai_signals": [
            "High anti-pattern density (0.73)"
          ]
        },
        {
          "name": "DataPickerWithDropdowns",
          "type": "function_declaration",
          "line_start": 467,
          "line_end": 520,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 467,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function DataPickerWithDropdowns is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 469,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2259,
          "ai_signals": []
        },
        {
          "name": "CalendarWeekNumbers",
          "type": "function_declaration",
          "line_start": 522,
          "line_end": 542,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0963,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 33.4,
        "function_length_stddev": 17.32,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 543,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 12,
        "ai_smell_density": 0.022099,
        "structural_uniformity": 0.4814,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.79,
        "mechanical": 86.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\component-example.tsx",
      "language": "tsx",
      "line_count": 664,
      "token_estimate": 6709,
      "functions": [
        {
          "name": "ComponentExample",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0013,
          "ai_signals": []
        },
        {
          "name": "CardExample",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 141,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 79,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function CardExample is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 84,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "FormExample",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 663,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 506,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 158,
              "description": "Function is 506 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 506 lines (> 37 dynamic threshold)",
                "impact": "Function FormExample is 506 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 159,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 164,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0221,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 192.33,
        "function_length_stddev": 273.03,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 664,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.08,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.00753,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.12,
        "mechanical": 83.12,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\hover-card-example.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 734,
      "functions": [
        {
          "name": "HoverCardExample",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.078,
          "ai_signals": []
        },
        {
          "name": "HoverCardSides",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.078,
          "ai_signals": []
        },
        {
          "name": "HoverCardInDialog",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.078,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 24.33,
        "function_length_stddev": 14.84,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.39,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.7,
        "mechanical": 95.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\native-select-example.tsx",
      "language": "tsx",
      "line_count": 130,
      "token_estimate": 1122,
      "functions": [
        {
          "name": "NativeSelectExample",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1607,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        },
        {
          "name": "NativeSelectBasic",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1607,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        },
        {
          "name": "NativeSelectWithGroups",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1607,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        },
        {
          "name": "NativeSelectSizes",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1607,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        },
        {
          "name": "NativeSelectWithField",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1607,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        },
        {
          "name": "NativeSelectDisabled",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1607,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        },
        {
          "name": "NativeSelectInvalid",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1607,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 15.43,
        "function_length_stddev": 3.46,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 130,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7759,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.37,
        "mechanical": 98.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\select-example.tsx",
      "language": "tsx",
      "line_count": 724,
      "token_estimate": 4922,
      "functions": [
        {
          "name": "SelectExample",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1039,
          "ai_signals": []
        },
        {
          "name": "SelectBasic",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1039,
          "ai_signals": []
        },
        {
          "name": "SelectSides",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 96,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function SelectSides is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 118,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2833,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        },
        {
          "name": "SelectWithIcons",
          "type": "function_declaration",
          "line_start": 136,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 98,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 136,
              "description": "Function is 98 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 98 lines (> 37 dynamic threshold)",
                "impact": "Function SelectWithIcons is 98 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 140,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 155,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 170,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 185,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2824,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        },
        {
          "name": "SelectWithGroups",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 279,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 235,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function SelectWithGroups is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1816,
          "ai_signals": []
        },
        {
          "name": "SelectLargeList",
          "type": "function_declaration",
          "line_start": 281,
          "line_end": 307,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1039,
          "ai_signals": []
        },
        {
          "name": "SelectSizes",
          "type": "function_declaration",
          "line_start": 309,
          "line_end": 350,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 309,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function SelectSizes is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1872,
          "ai_signals": []
        },
        {
          "name": "SelectWithButton",
          "type": "function_declaration",
          "line_start": 352,
          "line_end": 401,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 352,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function SelectWithButton is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1739,
          "ai_signals": []
        },
        {
          "name": "SelectItemAligned",
          "type": "function_declaration",
          "line_start": 403,
          "line_end": 434,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1039,
          "ai_signals": []
        },
        {
          "name": "SelectWithField",
          "type": "function_declaration",
          "line_start": 436,
          "line_end": 469,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1039,
          "ai_signals": []
        },
        {
          "name": "SelectInvalid",
          "type": "function_declaration",
          "line_start": 471,
          "line_end": 518,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 471,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function SelectInvalid is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 513,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2497,
          "ai_signals": []
        },
        {
          "name": "SelectInline",
          "type": "function_declaration",
          "line_start": 520,
          "line_end": 554,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1039,
          "ai_signals": []
        },
        {
          "name": "SelectDisabled",
          "type": "function_declaration",
          "line_start": 556,
          "line_end": 587,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1039,
          "ai_signals": []
        },
        {
          "name": "SelectPlan",
          "type": "function_declaration",
          "line_start": 604,
          "line_end": 628,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 613,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 620,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3839,
          "ai_signals": [
            "High anti-pattern density (0.80)"
          ]
        },
        {
          "name": "SelectPlanItem",
          "type": "function_declaration",
          "line_start": 630,
          "line_end": 641,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1039,
          "ai_signals": []
        },
        {
          "name": "SelectMultiple",
          "type": "function_declaration",
          "line_start": 643,
          "line_end": 681,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 643,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function SelectMultiple is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 663,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2833,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        },
        {
          "name": "SelectInDialog",
          "type": "function_declaration",
          "line_start": 683,
          "line_end": 723,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 683,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function SelectInDialog is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1892,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 17,
        "avg_function_length": 38.12,
        "function_length_stddev": 18.32,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 724,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 17,
        "ai_smell_density": 0.023481,
        "structural_uniformity": 0.5193,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.69,
        "mechanical": 85.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\slider-example.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 561,
      "functions": [
        {
          "name": "SliderExample",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0768,
          "ai_signals": []
        },
        {
          "name": "SliderBasic",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 28,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4268,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "SliderRange",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 36,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4268,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "SliderMultiple",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 44,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4268,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "SliderVertical",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 60,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.395,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "SliderControlled",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 87,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 87,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 73,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4268,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "SliderDisabled",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 100,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4268,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 12.29,
        "function_length_stddev": 7.57,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.92,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.086538,
        "structural_uniformity": 0.3842,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.68,
        "mechanical": 77.68,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\toggle-group-example.tsx",
      "language": "tsx",
      "line_count": 557,
      "token_estimate": 4199,
      "functions": [
        {
          "name": "ToggleGroupExample",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1312,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupBasic",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1312,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupOutline",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1312,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupOutlineWithIcons",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1312,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupSizes",
          "type": "function_declaration",
          "line_start": 138,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1312,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupSpacing",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 199,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1312,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupWithIcons",
          "type": "function_declaration",
          "line_start": 201,
          "line_end": 250,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 201,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleGroupWithIcons is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2012,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupFilter",
          "type": "function_declaration",
          "line_start": 252,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1312,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupDateRange",
          "type": "function_declaration",
          "line_start": 273,
          "line_end": 297,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1312,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupSort",
          "type": "function_declaration",
          "line_start": 299,
          "line_end": 336,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 299,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleGroupSort is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2233,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupWithInputAndSelect",
          "type": "function_declaration",
          "line_start": 338,
          "line_end": 373,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1312,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupVertical",
          "type": "function_declaration",
          "line_start": 375,
          "line_end": 409,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1312,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupVerticalOutline",
          "type": "function_declaration",
          "line_start": 411,
          "line_end": 435,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1312,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupVerticalOutlineWithIcons",
          "type": "function_declaration",
          "line_start": 437,
          "line_end": 471,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1312,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupFontWeightSelector",
          "type": "function_declaration",
          "line_start": 473,
          "line_end": 529,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 473,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleGroupFontWeightSelector is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 474,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.254,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupVerticalWithSpacing",
          "type": "function_declaration",
          "line_start": 531,
          "line_end": 556,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1312,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 32.06,
        "function_length_stddev": 11.03,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 557,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.97,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.007181,
        "structural_uniformity": 0.656,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.59,
        "mechanical": 91.59,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\registry.ts",
      "language": "typescript",
      "line_count": 58,
      "token_estimate": 343,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 57,
        "comment_ratio": 0.0172,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 138,
      "token_estimate": 750,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1096,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1096,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1096,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1096,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1096,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 75,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1096,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 127,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1096,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 16.29,
        "function_length_stddev": 7.36,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 138,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.73,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5478,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.76,
        "mechanical": 97.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 164,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 4.33,
        "function_length_stddev": 1.15,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7335,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 576,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 111,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 433,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.57,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 86,
      "token_estimate": 570,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 8,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 76,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 76 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 76 lines (> 37 dynamic threshold)",
                "impact": "Function Toaster is 76 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 12,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 13,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 68,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 13,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 68,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2763,
          "ai_signals": [
            "High anti-pattern density (0.79)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 76,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 86,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.88,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.069767,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.56,
        "mechanical": 67.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 497,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 16.07,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\dashboard-01\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1127,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 110,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 110 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 110 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 110 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0955,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 110,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.19,
        "mechanical": 78.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\login-03\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 96,
      "token_estimate": 998,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0455,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 77,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 96,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010417,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.4,
        "mechanical": 82.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\card-overview.tsx",
      "language": "tsx",
      "line_count": 100,
      "token_estimate": 743,
      "functions": [
        {
          "name": "CardOverview",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function CardOverview is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 84,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1207,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 100,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.59,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.02,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.6,
        "mechanical": 80.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\empty-explore-catalog.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 295,
      "functions": [
        {
          "name": "EmptyExploreCatalog",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\payments.tsx",
      "language": "tsx",
      "line_count": 185,
      "token_estimate": 1589,
      "functions": [
        {
          "name": "Payments",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 155,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 30,
              "description": "Function is 155 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 155 lines (> 37 dynamic threshold)",
                "impact": "Function Payments is 155 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0226,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 155,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 185,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.22,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005405,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.65,
        "mechanical": 83.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\roller-shades.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 561,
      "functions": [
        {
          "name": "RollerShades",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 61,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 61 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 61 lines (> 37 dynamic threshold)",
                "impact": "Function RollerShades is 61 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 42,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 20,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 23,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2295,
          "ai_signals": [
            "High anti-pattern density (0.66)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 61,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 80,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.93,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.05,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.5,
        "mechanical": 67.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\upcoming-payments.tsx",
      "language": "tsx",
      "line_count": 70,
      "token_estimate": 498,
      "functions": [
        {
          "name": "UpcomingPayments",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function UpcomingPayments is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0745,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 14,
              "description": "Unused import: import {\n  Item,\n  ItemContent,\n  ItemDescription,\n  ItemGroup,\n  ItemMedia,\n  ItemTitle,\n} from \"@/registry/bases/radix/ui/item\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'ItemMedia' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Item,\n  ItemContent,\n  ItemDescription,\n  ItemGroup,\n  ItemMedia,\n  ItemTitle,\n} from \"@/registry/bases/radix/ui/item\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 70,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014286,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.33,
        "mechanical": 85.33,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\book-appointment.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 409,
      "functions": [
        {
          "name": "BookAppointment",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 22,
              "description": "Unused import: import { IconPlaceholder } from \"@/app/(create)/components/icon-placeholder\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'IconPlaceholder' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { IconPlaceholder } from \"@/app/(create)/components/icon-placeholder\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.64,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\icon-preview-grid.tsx",
      "language": "tsx",
      "line_count": 147,
      "token_estimate": 884,
      "functions": [
        {
          "name": "IconPreviewGrid",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 133,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 147,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.96,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006803,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.1,
        "mechanical": 94.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\report-bug.tsx",
      "language": "tsx",
      "line_count": 93,
      "token_estimate": 769,
      "functions": [
        {
          "name": "ReportBug",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 69,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 69 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 69 lines (> 37 dynamic threshold)",
                "impact": "Function ReportBug is 69 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0507,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 69,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 93,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.3,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010753,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.31,
        "mechanical": 82.31,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\usage-card.tsx",
      "language": "tsx",
      "line_count": 137,
      "token_estimate": 805,
      "functions": [
        {
          "name": "CircularGauge",
          "type": "function_declaration",
          "line_start": 53,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 53,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function CircularGauge is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2454,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "UsageCard",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 119,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2639,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 41.5,
        "function_length_stddev": 6.36,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 2,
        "code_lines": 135,
        "comment_ratio": 0.0146,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014815,
        "structural_uniformity": 0.8467,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.85,
        "mechanical": 86.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-02\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 225,
      "token_estimate": 1305,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 168,
          "line_end": 224,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 168,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 172,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 210,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1842,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 224,
        "comment_ratio": 0.0044,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.37,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.013393,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.55,
        "mechanical": 82.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-05\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 252,
      "token_estimate": 1579,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 167,
          "line_end": 251,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 85,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 167,
              "description": "Function is 85 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 85 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 85 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 235,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 226,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1235,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 85,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 251,
        "comment_ratio": 0.004,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.45,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.011952,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.01,
        "mechanical": 82.01,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-07\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 567,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 65,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 62,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.175,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 60,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 80,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.07,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.0375,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.62,
        "mechanical": 75.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-08\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 224,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 30,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1207,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.23,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02381,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.35,
        "mechanical": 88.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-10\\components\\nav-favorites.tsx",
      "language": "tsx",
      "line_count": 131,
      "token_estimate": 1083,
      "functions": [
        {
          "name": "NavFavorites",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 110,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 110 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 110 lines (> 37 dynamic threshold)",
                "impact": "Function NavFavorites is 110 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 39,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0636,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 110,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 131,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.37,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.015267,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.18,
        "mechanical": 81.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-12\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 75,
      "token_estimate": 486,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 48,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2258,
          "ai_signals": [
            "High anti-pattern density (0.65)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 74,
        "comment_ratio": 0.0133,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.92,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.027027,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.94,
        "mechanical": 86.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-14\\page.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 404,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-15\\components\\sidebar-left.tsx",
      "language": "tsx",
      "line_count": 363,
      "token_estimate": 1983,
      "functions": [
        {
          "name": "SidebarLeft",
          "type": "function_declaration",
          "line_start": 345,
          "line_end": 362,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 351,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 352,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 355,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 356,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 357,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 362,
        "comment_ratio": 0.0028,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.16,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.013812,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.15,
        "mechanical": 94.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-16\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 144,
      "token_estimate": 1207,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 72,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0882,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 144,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.79,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.54,
        "mechanical": 78.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\signup-03\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 664,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0556,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012346,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.91,
        "mechanical": 81.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\_registry.ts",
      "language": "typescript",
      "line_count": 909,
      "token_estimate": 4659,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 909,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.68,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\button-example.tsx",
      "language": "tsx",
      "line_count": 999,
      "token_estimate": 7975,
      "functions": [
        {
          "name": "ButtonExample",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0339,
          "ai_signals": []
        },
        {
          "name": "ButtonVariantsAndSizes",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonVariantsAndSizes is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0854,
          "ai_signals": []
        },
        {
          "name": "ButtonIconRight",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 367,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 278,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 90,
              "description": "Function is 278 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 278 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonIconRight is 278 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0465,
          "ai_signals": []
        },
        {
          "name": "ButtonIconLeft",
          "type": "function_declaration",
          "line_start": 369,
          "line_end": 646,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 278,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 369,
              "description": "Function is 278 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 278 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonIconLeft is 278 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0465,
          "ai_signals": []
        },
        {
          "name": "ButtonIconOnly",
          "type": "function_declaration",
          "line_start": 648,
          "line_end": 877,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 230,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 648,
              "description": "Function is 230 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 230 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonIconOnly is 230 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0491,
          "ai_signals": []
        },
        {
          "name": "ButtonExamples",
          "type": "function_declaration",
          "line_start": 879,
          "line_end": 913,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0339,
          "ai_signals": []
        },
        {
          "name": "ButtonInvalidStates",
          "type": "function_declaration",
          "line_start": 915,
          "line_end": 998,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 84,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 915,
              "description": "Function is 84 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 84 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonInvalidStates is 84 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0756,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 140.71,
        "function_length_stddev": 116.84,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 999,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.39,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.005005,
        "structural_uniformity": 0.1696,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.75,
        "mechanical": 83.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\combobox-example.tsx",
      "language": "tsx",
      "line_count": 1250,
      "token_estimate": 9802,
      "functions": [
        {
          "name": "ComboboxExample",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1041,
          "ai_signals": []
        },
        {
          "name": "ComboboxBasic",
          "type": "function_declaration",
          "line_start": 549,
          "line_end": 567,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1041,
          "ai_signals": []
        },
        {
          "name": "ComboboxDisabled",
          "type": "function_declaration",
          "line_start": 569,
          "line_end": 587,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1041,
          "ai_signals": []
        },
        {
          "name": "ComboboxDisabledItems",
          "type": "function_declaration",
          "line_start": 591,
          "line_end": 613,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1041,
          "ai_signals": []
        },
        {
          "name": "ComboboxInvalid",
          "type": "function_declaration",
          "line_start": 615,
          "line_end": 659,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 615,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxInvalid is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 654,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2597,
          "ai_signals": []
        },
        {
          "name": "ComboboxWithClear",
          "type": "function_declaration",
          "line_start": 661,
          "line_end": 679,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1041,
          "ai_signals": []
        },
        {
          "name": "ComboboxWithGroups",
          "type": "function_declaration",
          "line_start": 681,
          "line_end": 706,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1041,
          "ai_signals": []
        },
        {
          "name": "ComboboxWithGroupsAndSeparator",
          "type": "function_declaration",
          "line_start": 708,
          "line_end": 734,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1041,
          "ai_signals": []
        },
        {
          "name": "ComboboxWithForm",
          "type": "function_declaration",
          "line_start": 736,
          "line_end": 786,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 736,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxWithForm is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 739,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 740,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 739,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 740,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4473,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ComboboxLargeList",
          "type": "function_declaration",
          "line_start": 790,
          "line_end": 808,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1041,
          "ai_signals": []
        },
        {
          "name": "ComboboxAutoHighlight",
          "type": "function_declaration",
          "line_start": 810,
          "line_end": 828,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1041,
          "ai_signals": []
        },
        {
          "name": "ComboxboxInputAddon",
          "type": "function_declaration",
          "line_start": 830,
          "line_end": 865,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1041,
          "ai_signals": []
        },
        {
          "name": "ComboboxInPopup",
          "type": "function_declaration",
          "line_start": 867,
          "line_end": 895,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 882,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2248,
          "ai_signals": []
        },
        {
          "name": "ComboboxMultiple",
          "type": "function_declaration",
          "line_start": 897,
          "line_end": 933,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1041,
          "ai_signals": []
        },
        {
          "name": "ComboboxMultipleDisabled",
          "type": "function_declaration",
          "line_start": 935,
          "line_end": 972,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 935,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxMultipleDisabled is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1962,
          "ai_signals": []
        },
        {
          "name": "ComboboxMultipleInvalid",
          "type": "function_declaration",
          "line_start": 974,
          "line_end": 1054,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 974,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxMultipleInvalid is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 1049,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1905,
          "ai_signals": []
        },
        {
          "name": "ComboboxMultipleNoRemove",
          "type": "function_declaration",
          "line_start": 1056,
          "line_end": 1094,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1056,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxMultipleNoRemove is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1939,
          "ai_signals": []
        },
        {
          "name": "ComboboxWithCustomItems",
          "type": "function_declaration",
          "line_start": 1096,
          "line_end": 1128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1041,
          "ai_signals": []
        },
        {
          "name": "ComboboxInDialog",
          "type": "function_declaration",
          "line_start": 1130,
          "line_end": 1189,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1130,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxInDialog is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 1131,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2208,
          "ai_signals": []
        },
        {
          "name": "ComboboxWithOtherInputs",
          "type": "function_declaration",
          "line_start": 1191,
          "line_end": 1249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 59,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1191,
              "description": "Function is 59 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 59 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxWithOtherInputs is 59 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1634,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 20,
        "avg_function_length": 35.2,
        "function_length_stddev": 16.88,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 1250,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.22,
        "debug_artifacts": [],
        "ai_smell_count": 15,
        "ai_smell_density": 0.012,
        "structural_uniformity": 0.5206,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.44,
        "mechanical": 89.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\empty-example.tsx",
      "language": "tsx",
      "line_count": 255,
      "token_estimate": 1899,
      "functions": [
        {
          "name": "EmptyExample",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1381,
          "ai_signals": []
        },
        {
          "name": "EmptyBasic",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1381,
          "ai_signals": []
        },
        {
          "name": "EmptyWithMutedBackground",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1381,
          "ai_signals": []
        },
        {
          "name": "EmptyWithBorder",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1381,
          "ai_signals": []
        },
        {
          "name": "EmptyWithIcon",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1381,
          "ai_signals": []
        },
        {
          "name": "EmptyWithMutedBackgroundAlt",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 209,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1381,
          "ai_signals": []
        },
        {
          "name": "EmptyInCard",
          "type": "function_declaration",
          "line_start": 211,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 211,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function EmptyInCard is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2177,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 32.43,
        "function_length_stddev": 10.03,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 255,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.19,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.003922,
        "structural_uniformity": 0.6907,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.29,
        "mechanical": 92.29,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\label-example.tsx",
      "language": "tsx",
      "line_count": 65,
      "token_estimate": 412,
      "functions": [
        {
          "name": "LabelExample",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        },
        {
          "name": "LabelWithCheckbox",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        },
        {
          "name": "LabelWithInput",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        },
        {
          "name": "LabelDisabled",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        },
        {
          "name": "LabelWithTextarea",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 65,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 1.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\resizable-example.tsx",
      "language": "tsx",
      "line_count": 159,
      "token_estimate": 1200,
      "functions": [
        {
          "name": "ResizableExample",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1368,
          "ai_signals": []
        },
        {
          "name": "ResizableHorizontal",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1368,
          "ai_signals": []
        },
        {
          "name": "ResizableVertical",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1368,
          "ai_signals": []
        },
        {
          "name": "ResizableWithHandle",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1368,
          "ai_signals": []
        },
        {
          "name": "ResizableNested",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1368,
          "ai_signals": []
        },
        {
          "name": "ResizableControlled",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 158,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1368,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 23,
        "function_length_stddev": 7.27,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 159,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.27,
        "mechanical": 95.27,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\sidebar-inset-example.tsx",
      "language": "tsx",
      "line_count": 293,
      "token_estimate": 2013,
      "functions": [
        {
          "name": "SidebarInsetExample",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 292,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 263,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 30,
              "description": "Function is 263 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 263 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarInsetExample is 263 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 219,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 243,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 264,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 225,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 224,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0798,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 263,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 293,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.19,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.020478,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.88,
        "mechanical": 79.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\textarea-example.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 480,
      "functions": [
        {
          "name": "TextareaExample",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.13,
          "ai_signals": []
        },
        {
          "name": "TextareaBasic",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.13,
          "ai_signals": []
        },
        {
          "name": "TextareaInvalid",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.13,
          "ai_signals": []
        },
        {
          "name": "TextareaWithLabel",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.13,
          "ai_signals": []
        },
        {
          "name": "TextareaWithDescription",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.13,
          "ai_signals": []
        },
        {
          "name": "TextareaDisabled",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.13,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.67,
        "function_length_stddev": 4.08,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6501,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.5,
        "mechanical": 99.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\lib\\_registry.ts",
      "language": "typescript",
      "line_count": 16,
      "token_estimate": 71,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 114,
      "token_estimate": 691,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.33,
        "function_length_stddev": 2.25,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 114,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8532,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.4,
        "mechanical": 98.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 371,
      "token_estimate": 2608,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0149,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3564,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3649,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 268,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 150,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 150 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 150 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 150 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 220,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 232,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 232,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 215,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 202,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 212,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 216,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 249,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3649,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 272,
          "line_end": 325,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 272,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 284,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 309,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 319,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2742,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 327,
          "line_end": 361,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 327,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 347,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 349,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 349,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 353,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 355,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 347,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 349,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 349,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 353,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 355,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3649,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 53.5,
        "function_length_stddev": 49.5,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 370,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.108108,
        "structural_uniformity": 0.0747,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.24,
        "mechanical": 52.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 126,
      "token_estimate": 725,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 78,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 9.6,
        "function_length_stddev": 5.34,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 126,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.55,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.444,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 196,
      "token_estimate": 1097,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 109,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 122,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 169,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 171,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.8,
        "function_length_stddev": 2.53,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 196,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.28,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8024,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.91,
        "mechanical": 98.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 191,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.21,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.15,
        "mechanical": 95.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 72,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 671,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 49,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 42,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 42,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4782,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1782,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32.5,
        "function_length_stddev": 3.54,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8912,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.92,
        "mechanical": 79.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\icons\\icon-tabler.tsx",
      "language": "tsx",
      "line_count": 4,
      "token_estimate": 27,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 4,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\dashboard-01\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 111,
      "token_estimate": 845,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 79,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 32,
              "description": "Function is 79 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 79 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 79 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1329,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 79,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 111,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.1,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.027027,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.99,
        "mechanical": 76.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\login-03\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 96,
      "token_estimate": 998,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0455,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 77,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 96,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010417,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.4,
        "mechanical": 82.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-01\\components\\version-switcher.tsx",
      "language": "tsx",
      "line_count": 65,
      "token_estimate": 501,
      "functions": [
        {
          "name": "VersionSwitcher",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function VersionSwitcher is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 25,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1489,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 65,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.47,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.030769,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.21,
        "mechanical": 81.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-04\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 207,
      "token_estimate": 1162,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 206,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 158,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 184,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 193,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 188,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2857,
          "ai_signals": [
            "High anti-pattern density (0.82)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 206,
        "comment_ratio": 0.0048,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.019417,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.45,
        "mechanical": 83.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-06\\page.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 445,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.71,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-08\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 553,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 44,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 62,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 50,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 49,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 59,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.79,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.075949,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.91,
        "mechanical": 66.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-10\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 277,
      "token_estimate": 1395,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 261,
          "line_end": 276,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 265,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 266,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 269,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 270,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 271,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 276,
        "comment_ratio": 0.0036,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.18,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.018116,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.67,
        "mechanical": 93.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-11\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 144,
      "token_estimate": 852,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 92,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2847,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.92)"
          ]
        },
        {
          "name": "Tree",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 105,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function Tree is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 136,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3642,
          "ai_signals": [
            "High anti-pattern density (0.51)",
            "Suspiciously uniform function lengths (0.92)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 37,
        "function_length_stddev": 2.83,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 143,
        "comment_ratio": 0.0069,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.82,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.020979,
        "structural_uniformity": 0.9236,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.41,
        "mechanical": 81.41,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-13\\page.tsx",
      "language": "tsx",
      "line_count": 10,
      "token_estimate": 62,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 10,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.68,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-15\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 859,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.128,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 82,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.11,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.026087,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.23,
        "mechanical": 77.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-16\\components\\nav-projects.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 607,
      "functions": [
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 62,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 62 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 62 lines (> 37 dynamic threshold)",
                "impact": "Function NavProjects is 62 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 46,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 62,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.98,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.44,
        "mechanical": 79.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\signup-02\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 71,
      "token_estimate": 792,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 59,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 59 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 59 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 59 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0593,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 59,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 71,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.47,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014085,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.78,
        "mechanical": 81.78,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\_registry.ts",
      "language": "typescript",
      "line_count": 856,
      "token_estimate": 4903,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 6,
        "code_lines": 850,
        "comment_ratio": 0.007,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.08,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-area-stacked-expand.tsx",
      "language": "tsx",
      "line_count": 122,
      "token_estimate": 836,
      "functions": [
        {
          "name": "ChartAreaStackedExpand",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 75,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 47,
              "description": "Function is 75 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 75 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaStackedExpand is 75 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 68,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 76,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 75,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 122,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.79,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.02459,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.85,
        "mechanical": 78.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-bar-label.tsx",
      "language": "tsx",
      "line_count": 89,
      "token_estimate": 585,
      "functions": [
        {
          "name": "ChartBarLabel",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function ChartBarLabel is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 63,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.21,
          "ai_signals": [
            "High anti-pattern density (0.60)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 89,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033708,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.57,
        "mechanical": 79.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-line-dots.tsx",
      "language": "tsx",
      "line_count": 98,
      "token_estimate": 638,
      "functions": [
        {
          "name": "ChartLineDots",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLineDots is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 60,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 68,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1909,
          "ai_signals": [
            "High anti-pattern density (0.55)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 55,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 98,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.1,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.030612,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.85,
        "mechanical": 78.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-pie-donut-text.tsx",
      "language": "tsx",
      "line_count": 130,
      "token_estimate": 923,
      "functions": [
        {
          "name": "ChartPieDonutText",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 72,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 58,
              "description": "Function is 72 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 72 lines (> 37 dynamic threshold)",
                "impact": "Function ChartPieDonutText is 72 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 75,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 86,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 72,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 130,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.74,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.023077,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.23,
        "mechanical": 79.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-pie-simple.tsx",
      "language": "tsx",
      "line_count": 89,
      "token_estimate": 573,
      "functions": [
        {
          "name": "ChartPieSimple",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 89,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.022472,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.78,
        "mechanical": 87.78,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-grid-fill.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 537,
      "functions": [
        {
          "name": "ChartRadarGridFill",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarGridFill is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.175,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.025316,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.67,
        "mechanical": 84.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radial-grid.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 608,
      "functions": [
        {
          "name": "ChartRadialGrid",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1061,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.99,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011111,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.32,
        "mechanical": 90.32,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-tooltip-formatter.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 721,
      "functions": [
        {
          "name": "ChartTooltipFormatter",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 41,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipFormatter is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 80,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 80,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 80,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2917,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 60,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.13,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.049505,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.62,
        "mechanical": 72.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\accordion-demo.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 555,
      "functions": [
        {
          "name": "AccordionDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function AccordionDemo is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0648,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 54,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.31,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016129,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.77,
        "mechanical": 82.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\badge-outline.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 37,
      "functions": [
        {
          "name": "BadgeOutline",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-as-child.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 55,
      "functions": [
        {
          "name": "ButtonAsChild",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 8,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.62,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.083333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.17,
        "mechanical": 79.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-group-input.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 114,
      "functions": [
        {
          "name": "ButtonGroupInput",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-icon.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 65,
      "functions": [
        {
          "name": "ButtonIcon",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\calendar-demo.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 101,
      "functions": [
        {
          "name": "CalendarDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.61,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\carousel-size.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 244,
      "functions": [
        {
          "name": "CarouselSize",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\checkbox-demo.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 453,
      "functions": [
        {
          "name": "CheckboxDemo",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 6,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxDemo is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0921,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.53,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022727,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.92,
        "mechanical": 85.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\command-demo.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 389,
      "functions": [
        {
          "name": "CommandDemo",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function CommandDemo is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.8,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015873,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.43,
        "mechanical": 86.43,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\dialog-demo.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 395,
      "functions": [
        {
          "name": "DialogDemo",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.92,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\empty-avatar.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 253,
      "functions": [
        {
          "name": "EmptyAvatar",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 23,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.4,
        "mechanical": 89.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\field-demo.tsx",
      "language": "tsx",
      "line_count": 152,
      "token_estimate": 1379,
      "functions": [
        {
          "name": "FieldDemo",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 151,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 130,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 130 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 130 lines (> 37 dynamic threshold)",
                "impact": "Function FieldDemo is 130 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0269,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 130,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 152,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.49,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006579,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.36,
        "mechanical": 83.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\field-switch.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 171,
      "functions": [
        {
          "name": "FieldSwitch",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-rhf-array.tsx",
      "language": "tsx",
      "line_count": 161,
      "token_estimate": 1288,
      "functions": [
        {
          "name": "FormRhfArray",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 115,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 46,
              "description": "Function is 115 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 115 lines (> 37 dynamic threshold)",
                "impact": "Function FormRhfArray is 115 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 91,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 125,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 143,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 102,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 70,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 70,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 142,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2435,
          "ai_signals": [
            "High anti-pattern density (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 115,
        "function_length_stddev": 0.0,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 161,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.85,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.049689,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 70.08,
        "mechanical": 70.08,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-rhf-switch.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 843,
      "functions": [
        {
          "name": "FormRhfSwitch",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 34,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function FormRhfSwitch is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 86,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 53,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 53,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1728,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 81,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.034783,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.3,
        "mechanical": 76.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-tanstack-select.tsx",
      "language": "tsx",
      "line_count": 160,
      "token_estimate": 1182,
      "functions": [
        {
          "name": "FormTanstackSelect",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 106,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 54,
              "description": "Function is 106 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 106 lines (> 37 dynamic threshold)",
                "impact": "Function FormTanstackSelect is 106 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 112,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 73,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 73,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1321,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 106,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 159,
        "comment_ratio": 0.0063,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.01,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.025157,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.71,
        "mechanical": 78.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-group-button.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 663,
      "functions": [
        {
          "name": "InputGroupButtonExample",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupButtonExample is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 26,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1667,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.2,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.034483,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.88,
        "mechanical": 73.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-group-textarea.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 342,
      "functions": [
        {
          "name": "InputGroupTextareaExample",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 22,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.84,
        "debug_artifacts": [
          "console.log line 22"
        ],
        "ai_smell_count": 1,
        "ai_smell_density": 0.021277,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.38,
        "mechanical": 86.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-with-text.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 108,
      "functions": [
        {
          "name": "InputWithText",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\item-link.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 290,
      "functions": [
        {
          "name": "ItemLink",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\label-demo.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 89,
      "functions": [
        {
          "name": "LabelDemo",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.68,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\pagination-demo.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 237,
      "functions": [
        {
          "name": "PaginationDemo",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0417,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 12.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\scroll-area-demo.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 175,
      "functions": [
        {
          "name": "ScrollAreaDemo",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.94,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\skeleton-demo.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 94,
      "functions": [
        {
          "name": "SkeletonDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.54,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\spinner-custom.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 111,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1501,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "SpinnerCustom",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1501,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 8.5,
        "function_length_stddev": 2.12,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7504,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\tabs-demo.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 664,
      "functions": [
        {
          "name": "TabsDemo",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function TabsDemo is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0583,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import { AppWindowIcon, CodeIcon } from \"lucide-react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'AppWindowIcon' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { AppWindowIcon, CodeIcon } from \"lucide-react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import { AppWindowIcon, CodeIcon } from \"lucide-react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CodeIcon' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { AppWindowIcon, CodeIcon } from \"lucide-react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 60,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.43,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012346,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 2
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.91,
        "mechanical": 81.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\toggle-group-demo.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 170,
      "functions": [
        {
          "name": "ToggleGroupDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\toggle-outline.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 61,
      "functions": [
        {
          "name": "ToggleOutline",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.29,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-h3.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 39,
      "functions": [
        {
          "name": "TypographyH3",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-small.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 34,
      "functions": [
        {
          "name": "TypographySmall",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\sidebar-group-action.tsx",
      "language": "tsx",
      "line_count": 72,
      "token_estimate": 515,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.066,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 72,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.61,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013889,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.63,
        "mechanical": 83.63,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\sidebar-menu.tsx",
      "language": "tsx",
      "line_count": 78,
      "token_estimate": 383,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 63,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1296,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 78,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.61,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012821,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.69,
        "mechanical": 91.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 403,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1776,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1776,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1776,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.67,
        "function_length_stddev": 1.53,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.13,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8882,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.9,
        "mechanical": 98.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 93,
      "token_estimate": 496,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1688,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.84)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1688,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.84)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1688,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.84)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1688,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.84)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1688,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.84)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1688,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.84)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1688,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.84)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 10.29,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 93,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.02,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8441,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.91,
        "mechanical": 99.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 159,
      "token_estimate": 1078,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0473,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0473,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0473,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0473,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0473,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0473,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0473,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0473,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0473,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0473,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.7,
        "function_length_stddev": 9.7,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 159,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2365,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.74,
        "mechanical": 98.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 171,
      "token_estimate": 1273,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1372,
          "ai_signals": []
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 72,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 72,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 75,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4872,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 109,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3316,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 121,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4554,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1372,
          "ai_signals": []
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 147,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1372,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 17.83,
        "function_length_stddev": 5.6,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 3,
        "code_lines": 168,
        "comment_ratio": 0.0175,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.92,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.041667,
        "structural_uniformity": 0.6859,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.23,
        "mechanical": 87.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 169,
      "token_estimate": 1664,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1585,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1585,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1585,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1585,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1585,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuViewport",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1585,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1585,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 140,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1585,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.25,
        "function_length_stddev": 3.58,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 169,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7927,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.51,
        "mechanical": 97.51,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 173,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.98,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 619,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\scripts\\build-icons.ts",
      "language": "typescript",
      "line_count": 132,
      "token_estimate": 834,
      "functions": [
        {
          "name": "findTsxFiles",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 3,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0806,
          "ai_signals": []
        },
        {
          "name": "scanIconUsage",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 4,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 36 lines (> 30 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 36 lines (> 30 dynamic threshold)",
                "impact": "Function scanIconUsage is 36 lines \u2014 exceeds 30 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 26,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 52,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 26,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 52,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 36,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4306,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "generateIconFiles",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "console-log-production",
              "severity": "low",
              "line": 64,
              "description": "console.log left in production code",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "ast-grep-pattern",
                "proof": "console.log left in production code",
                "impact": "Debug logging at line 64 pollutes production output and may leak sensitive data",
                "recommendation": "Remove the console statement or replace with a structured logger",
                "confidence": 1.0,
                "fix_type": "deterministic",
                "references": [
                  "https://eslint.org/docs/latest/rules/no-console"
                ]
              }
            },
            {
              "id": "console-log-production",
              "severity": "low",
              "line": 80,
              "description": "console.log left in production code",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "ast-grep-pattern",
                "proof": "console.log left in production code",
                "impact": "Debug logging at line 80 pollutes production output and may leak sensitive data",
                "recommendation": "Remove the console statement or replace with a structured logger",
                "confidence": 1.0,
                "fix_type": "deterministic",
                "references": [
                  "https://eslint.org/docs/latest/rules/no-console"
                ]
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 67,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 67,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-array-mutation-in-render",
              "severity": "high",
              "line": 67,
              "description": "Array.prototype methods that mutate (sort, splice, reverse) called in render - mutates props/state, causes bugs across renders",
              "fix_type": "deterministic"
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 64,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 80,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.4306,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "main",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0806,
          "ai_signals": []
        },
        {
          "name": "startWatcher",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 111,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 116,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2927,
          "ai_signals": [
            "High anti-pattern density (0.61)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 22,
        "function_length_stddev": 13.13,
        "import_count": 3,
        "export_count": 0,
        "comment_lines": 0,
        "code_lines": 132,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [
          "console.log line 64",
          "console.log line 80",
          "console.error line 111",
          "console.error line 116"
        ],
        "ai_smell_count": 17,
        "ai_smell_density": 0.128788,
        "structural_uniformity": 0.403,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 55.2,
        "mechanical": 55.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 123,
      "token_estimate": 649,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 75,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.14,
        "function_length_stddev": 4.45,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 123,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.4,
        "mechanical": 98.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 164,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 4.33,
        "function_length_stddev": 1.15,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7335,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 129,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 417,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 752,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 16.07,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 598,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 18,
        "function_length_stddev": 3.61,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7997,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 301,
      "token_estimate": 2277,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.376,
          "ai_signals": [
            "High anti-pattern density (0.88)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 163,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 186,
          "line_end": 190,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 205,
          "line_end": 216,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 218,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 264,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 266,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 281,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.56,
        "function_length_stddev": 10.33,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 301,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009967,
        "structural_uniformity": 0.336,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.37,
        "mechanical": 95.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1511,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 282,
      "token_estimate": 2062,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 204,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 206,
          "line_end": 220,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 222,
          "line_end": 226,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 228,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 248,
          "line_end": 262,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0856,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 13.94,
        "function_length_stddev": 7.97,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 282,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.15,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4281,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.82,
        "mechanical": 98.82,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 406,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 659,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 17.75,
        "function_length_stddev": 8.81,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5038,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.67,
        "mechanical": 97.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 694,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 194,
      "token_estimate": 1232,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 147,
          "line_end": 165,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 167,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.44,
        "function_length_stddev": 6.31,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 194,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.31,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6385,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.77,
        "mechanical": 97.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 463,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.67,
        "function_length_stddev": 16.77,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.9,
        "mechanical": 98.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 478,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 206,
      "token_estimate": 1664,
      "functions": [
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2209,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function SelectContent is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1766,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 19.33,
        "function_length_stddev": 10.51,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 206,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.95,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.009709,
        "structural_uniformity": 0.4563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.77,
        "mechanical": 94.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 428,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 188,
      "token_estimate": 1308,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 157,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 168,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3312,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 12.75,
        "function_length_stddev": 5.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 188,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.74,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005319,
        "structural_uniformity": 0.5625,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 232,
      "token_estimate": 2102,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1584,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 229,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 211,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3668,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105,
        "function_length_stddev": 96.17,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 232,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.047414,
        "structural_uniformity": 0.0841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.9,
        "mechanical": 66.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2099,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 199,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 9.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.28,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3804,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 158,
      "token_estimate": 1331,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 58,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 58,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 61,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5005,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 96,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3255,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 108,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4687,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 148,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.83,
        "function_length_stddev": 3.92,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 158,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.81,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044304,
        "structural_uniformity": 0.7524,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.17,
        "mechanical": 87.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 172,
      "token_estimate": 1864,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3106,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuPositioner",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 127,
          "line_end": 141,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.75,
        "function_length_stddev": 4.98,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 172,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005814,
        "structural_uniformity": 0.7195,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.22,
        "mechanical": 96.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 136,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\alert.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 515,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.08,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\card.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 661,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.86,
        "function_length_stddev": 2.67,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.55,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7746,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.44,
        "mechanical": 99.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\dialog.tsx",
      "language": "tsx",
      "line_count": 160,
      "token_estimate": 1023,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function DialogContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1042,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.8,
        "function_length_stddev": 11.88,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 160,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.85,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.00625,
        "structural_uniformity": 0.0721,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.14,
        "mechanical": 97.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 635,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\pagination.tsx",
      "language": "tsx",
      "line_count": 134,
      "token_estimate": 732,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 52,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4147,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.57,
        "function_length_stddev": 6.53,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 134,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.552,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.18,
        "mechanical": 94.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\sheet.tsx",
      "language": "tsx",
      "line_count": 138,
      "token_estimate": 1171,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.8,
        "function_length_stddev": 11.68,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 138,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.99,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007246,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.72,
        "mechanical": 97.72,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\tabs.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 873,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 3.4,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.92,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7525,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 100,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 12,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 12,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.086957,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.86,
        "mechanical": 75.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1419,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.01,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 7,
      "token_estimate": 25,
      "functions": [
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 7,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 260,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 8,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.99,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.2,
        "mechanical": 87.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 647,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 10,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.5,
        "function_length_stddev": 11.13,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0321,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 724,
      "token_estimate": 5425,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 134,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 134,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 108,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 70,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 74,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 76,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 86,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 92,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 97,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3529,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 252,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 152,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 192,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 192,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1069,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 254,
          "line_end": 278,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 280,
          "line_end": 303,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 284,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1488,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 305,
          "line_end": 316,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 318,
          "line_end": 330,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 332,
          "line_end": 341,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 343,
          "line_end": 352,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 354,
          "line_end": 366,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 368,
          "line_end": 380,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 382,
          "line_end": 391,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 393,
          "line_end": 415,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 417,
          "line_end": 439,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 441,
          "line_end": 453,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 455,
          "line_end": 464,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 466,
          "line_end": 475,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 499,
          "line_end": 551,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 499,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 521,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.135,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 553,
          "line_end": 581,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 583,
          "line_end": 598,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 600,
          "line_end": 636,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 629,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 629,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 608,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2867,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 638,
          "line_end": 650,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 652,
          "line_end": 664,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 666,
          "line_end": 696,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 25.21,
        "function_length_stddev": 24.84,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 715,
        "comment_ratio": 0.0124,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.53,
        "debug_artifacts": [],
        "ai_smell_count": 19,
        "ai_smell_density": 0.026573,
        "structural_uniformity": 0.0146,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.75,
        "mechanical": 86.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 210,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 110,
      "token_estimate": 759,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 14.67,
        "function_length_stddev": 2.58,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 110,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.6,
        "mechanical": 98.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2625,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 132,
      "token_estimate": 1088,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 107,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.2,
        "function_length_stddev": 5.59,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 132,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.51,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4516,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.94,
        "mechanical": 99.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 202,
      "token_estimate": 1220,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 164,
          "line_end": 175,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 177,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.2,
        "function_length_stddev": 3.68,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 202,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7215,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.04,
        "mechanical": 99.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 435,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressTrack",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 30,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ProgressIndicator",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressLabel",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4866,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ProgressValue",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 13,
        "function_length_stddev": 4.12,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.7,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.035714,
        "structural_uniformity": 0.6828,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.17,
        "mechanical": 90.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 68,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 815,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 50,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 43,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 43,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4735,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.87)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1735,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32,
        "function_length_stddev": 4.24,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.69,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8674,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.07,
        "mechanical": 80.07,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 466,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.1,
        "mechanical": 95.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 348,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.54,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 274,
      "token_estimate": 2260,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 120,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 162,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 182,
          "line_end": 193,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 195,
          "line_end": 209,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 211,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 217,
          "line_end": 239,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 241,
          "line_end": 255,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.53,
        "function_length_stddev": 8.71,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 274,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.21,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4394,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.34,
        "mechanical": 98.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 219,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.47,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 409,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 17,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 481,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.05,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 425,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.01,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 619,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 13.86,
        "function_length_stddev": 4.14,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7012,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.13,
        "mechanical": 98.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 198,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 8.33,
        "function_length_stddev": 2.89,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6536,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 102,
      "token_estimate": 591,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1653,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1653,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1653,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1653,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1653,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1653,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.33,
        "function_length_stddev": 1.97,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 102,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8265,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.6,
        "mechanical": 99.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 148,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 418,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 528,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 11.25,
        "function_length_stddev": 8.5,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.63,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2444,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.62,
        "mechanical": 99.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 587,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3607,
          "ai_signals": [
            "High anti-pattern density (0.53)",
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 17,
        "function_length_stddev": 2.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011905,
        "structural_uniformity": 0.8824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.09,
        "mechanical": 94.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 303,
      "token_estimate": 2291,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 82,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3568,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 124,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 126,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 205,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 207,
          "line_end": 218,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 220,
          "line_end": 235,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 237,
          "line_end": 266,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 268,
          "line_end": 279,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 281,
          "line_end": 283,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.69,
        "function_length_stddev": 10.58,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 303,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009901,
        "structural_uniformity": 0.3255,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.35,
        "mechanical": 95.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1509,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 282,
      "token_estimate": 2134,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 169,
          "line_end": 187,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 189,
          "line_end": 200,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 202,
          "line_end": 216,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 218,
          "line_end": 222,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 224,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 248,
          "line_end": 262,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 14.94,
        "function_length_stddev": 8.23,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 282,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.92,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4493,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.52,
        "mechanical": 98.52,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 423,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 681,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1254,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1254,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1254,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1254,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 19.25,
        "function_length_stddev": 7.18,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6269,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.22,
        "mechanical": 97.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 805,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.9,
        "mechanical": 93.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 193,
      "token_estimate": 1240,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 117,
          "line_end": 131,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 133,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 164,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.33,
        "function_length_stddev": 6.02,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 193,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.29,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6526,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.8,
        "mechanical": 97.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 382,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 11,
        "function_length_stddev": 8.72,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.72,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2075,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 515,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 199,
      "token_estimate": 1682,
      "functions": [
        {
          "name": "Select",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 169,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 16.8,
        "function_length_stddev": 9.67,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 199,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4244,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.51,
        "mechanical": 97.51,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 437,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.92,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 200,
      "token_estimate": 1418,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 148,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 150,
          "line_end": 166,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 168,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 13.75,
        "function_length_stddev": 4.92,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 200,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6422,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\calendar.tsx",
      "language": "tsx",
      "line_count": 233,
      "token_estimate": 2109,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1607,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 230,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 193,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarDayButton is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 208,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 212,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.369,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105.5,
        "function_length_stddev": 95.46,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 233,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 13,
        "ai_smell_density": 0.055794,
        "structural_uniformity": 0.0952,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 64.8,
        "mechanical": 64.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\context-menu.tsx",
      "language": "tsx",
      "line_count": 268,
      "token_estimate": 2103,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 200,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 202,
          "line_end": 220,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 222,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.13,
        "function_length_stddev": 7.82,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 268,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4834,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.46,
        "mechanical": 98.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\input-group.tsx",
      "language": "tsx",
      "line_count": 157,
      "token_estimate": 1309,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 58,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 58,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 61,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.504,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 95,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3485,
          "ai_signals": [
            "High anti-pattern density (0.56)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 107,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4722,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 117,
          "line_end": 131,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 133,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.5,
        "function_length_stddev": 3.56,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 157,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.91,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044586,
        "structural_uniformity": 0.7701,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.2,
        "mechanical": 87.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 168,
      "token_estimate": 1637,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuViewport",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.12,
        "function_length_stddev": 3.64,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 168,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7873,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.55,
        "mechanical": 97.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\separator.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 161,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.39,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 516,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 661,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.86,
        "function_length_stddev": 2.67,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.55,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7746,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.44,
        "mechanical": 99.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 168,
      "token_estimate": 1057,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 140,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.6,
        "function_length_stddev": 10.43,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 168,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2333,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.47,
        "mechanical": 98.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 635,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 133,
      "token_estimate": 721,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2715,
          "ai_signals": []
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.43,
        "function_length_stddev": 6.32,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 133,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007519,
        "structural_uniformity": 0.5619,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.08,
        "mechanical": 96.08,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 147,
      "token_estimate": 1141,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 48,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1103,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 11.7,
        "function_length_stddev": 10.5,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 147,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006803,
        "structural_uniformity": 0.1026,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.56,
        "mechanical": 97.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 893,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 77,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 15.5,
        "function_length_stddev": 2.65,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8293,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.35,
        "mechanical": 98.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 68,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1420,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.01,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 126,
      "functions": [
        {
          "name": "DirectionProvider",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 235,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 7,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-form-missing-labels",
              "severity": "high",
              "line": 7,
              "description": "Form input without associated label - screen readers cannot identify what the input is for",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.83,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.1,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.1,
        "mechanical": 74.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 596,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverAnchor",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 9.43,
        "function_length_stddev": 5.77,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3881,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 703,
      "token_estimate": 5325,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 133,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 133,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 107,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 69,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 73,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 75,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 85,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 91,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 251,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 151,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 191,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 191,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.104,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 253,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 302,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 283,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 304,
          "line_end": 315,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 317,
          "line_end": 329,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 331,
          "line_end": 340,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 342,
          "line_end": 351,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 353,
          "line_end": 365,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 367,
          "line_end": 379,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 381,
          "line_end": 390,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 392,
          "line_end": 410,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 412,
          "line_end": 430,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 432,
          "line_end": 444,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 446,
          "line_end": 455,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 457,
          "line_end": 466,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 490,
          "line_end": 538,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 490,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 540,
          "line_end": 564,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 566,
          "line_end": 581,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 583,
          "line_end": 619,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 612,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 612,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 591,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2838,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 621,
          "line_end": 633,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 635,
          "line_end": 647,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 649,
          "line_end": 675,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 24.38,
        "function_length_stddev": 24.66,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 694,
        "comment_ratio": 0.0128,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 18,
        "ai_smell_density": 0.025937,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.74,
        "mechanical": 86.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 204,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\button-group-demo.tsx",
      "language": "tsx",
      "line_count": 121,
      "token_estimate": 895,
      "functions": [
        {
          "name": "ButtonGroupDemo",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 32,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupDemo is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 33,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0853,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 89,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 121,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.4,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.016529,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.87,
        "mechanical": 80.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\field-demo.tsx",
      "language": "tsx",
      "line_count": 159,
      "token_estimate": 1462,
      "functions": [
        {
          "name": "FieldDemo",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 158,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 136,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 136 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 136 lines (> 37 dynamic threshold)",
                "impact": "Function FieldDemo is 136 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0257,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 136,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 159,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006289,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.43,
        "mechanical": 83.43,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\item-demo.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 289,
      "functions": [
        {
          "name": "ItemDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\charts\\[type]\\page.tsx",
      "language": "tsx",
      "line_count": 97,
      "token_estimate": 646,
      "functions": [
        {
          "name": "generateStaticParams",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "ChartPage",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 40,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function ChartPage is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 87,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 43,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 47,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 43,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 47,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 58,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 31,
        "function_length_stddev": 36.77,
        "import_count": 6,
        "export_count": 5,
        "comment_lines": 2,
        "code_lines": 95,
        "comment_ratio": 0.0206,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.084211,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 69.9,
        "mechanical": 69.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\base-picker.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 593,
      "functions": [
        {
          "name": "BasePicker",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 71,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 16,
              "description": "Function is 71 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 71 lines (> 37 dynamic threshold)",
                "impact": "Function BasePicker is 71 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 49,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 52,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 52,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 67,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 30,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2958,
          "ai_signals": [
            "High anti-pattern density (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 55,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 71,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.068966,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 62.76,
        "mechanical": 62.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\icon-placeholder.tsx",
      "language": "tsx",
      "line_count": 76,
      "token_estimate": 524,
      "functions": [
        {
          "name": "IconPlaceholder",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 7,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 62,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 63,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 68,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 61,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-missing-suspense-error-boundary",
              "severity": "high",
              "line": 61,
              "description": "React Query / SWR data fetching without error boundary - unhandled errors show blank screen or crash",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 3,
        "code_lines": 73,
        "comment_ratio": 0.0395,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.96,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.09589,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 61.63,
        "mechanical": 61.63,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\preset-picker.tsx",
      "language": "tsx",
      "line_count": 126,
      "token_estimate": 881,
      "functions": [
        {
          "name": "PresetPicker",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 110,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 16,
              "description": "Function is 110 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 110 lines (> 37 dynamic threshold)",
                "impact": "Function PresetPicker is 110 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 91,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 102,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0955,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 110,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 2,
        "code_lines": 124,
        "comment_ratio": 0.0159,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.14,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.024194,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.45,
        "mechanical": 66.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\share-button.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 413,
      "functions": [
        {
          "name": "ShareButton",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function ShareButton is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 42,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 48,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 15,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 22,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 29,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.77,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.103448,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 61.7,
        "mechanical": 61.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\hooks\\use-iframe-sync.tsx",
      "language": "tsx",
      "line_count": 70,
      "token_estimate": 375,
      "functions": [
        {
          "name": "isInIframe",
          "type": "arrow_function",
          "line_start": 12,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 6,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0708,
          "ai_signals": []
        },
        {
          "name": "useIframeMessageListener",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 43,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 28,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 32,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4208,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "sendToIframe",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 3,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 58,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2458,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 18.67,
        "function_length_stddev": 12.06,
        "import_count": 2,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 70,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.81,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.057143,
        "structural_uniformity": 0.3542,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.45,
        "mechanical": 79.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\lib\\fonts.ts",
      "language": "typescript",
      "line_count": 234,
      "token_estimate": 1165,
      "functions": [
        {
          "name": "createFontOption",
          "type": "function_declaration",
          "line_start": 179,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 4,
        "comment_lines": 0,
        "code_lines": 234,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.3,
        "mechanical": 93.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\lib\\utils.ts",
      "language": "typescript",
      "line_count": 45,
      "token_estimate": 292,
      "functions": [
        {
          "name": "groupItemsByType",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 16,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 22,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 16,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 22,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-array-mutation-in-render",
              "severity": "high",
              "line": 19,
              "description": "Array.prototype methods that mutate (sort, splice, reverse) called in render - mutates props/state, causes bugs across renders",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 4,
        "code_lines": 41,
        "comment_ratio": 0.0889,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.9,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.121951,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.9,
        "mechanical": 66.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\authentication\\page.tsx",
      "language": "tsx",
      "line_count": 93,
      "token_estimate": 843,
      "functions": [
        {
          "name": "AuthenticationPage",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 78,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 78 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 78 lines (> 37 dynamic threshold)",
                "impact": "Function AuthenticationPage is 78 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 17,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 20,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 28,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 84,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 85,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 78,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 93,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.064516,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.87,
        "mechanical": 68.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\dashboard\\components\\section-cards.tsx",
      "language": "tsx",
      "line_count": 103,
      "token_estimate": 915,
      "functions": [
        {
          "name": "SectionCards",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 90,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 90 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 90 lines (> 37 dynamic threshold)",
                "impact": "Function SectionCards is 90 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0389,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 90,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 103,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.64,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009709,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.57,
        "mechanical": 82.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\playground\\components\\preset-save.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 339,
      "functions": [
        {
          "name": "PresetSave",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 32,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.04,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.021739,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.27,
        "mechanical": 88.27,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\appearance-settings.tsx",
      "language": "tsx",
      "line_count": 174,
      "token_estimate": 1419,
      "functions": [
        {
          "name": "AppearanceSettings",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 112,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 62,
              "description": "Function is 112 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 112 lines (> 37 dynamic threshold)",
                "impact": "Function AppearanceSettings is 112 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 64,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 64,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 66,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 68,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1875,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 112,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 174,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.67,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.034483,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.88,
        "mechanical": 73.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\field-hear.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 732,
      "functions": [
        {
          "name": "FieldHear",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 37,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function FieldHear is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 39,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 39,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2642,
          "ai_signals": [
            "High anti-pattern density (0.75)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.77,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.044444,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.74,
        "mechanical": 74.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\spinner-empty.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 323,
      "functions": [
        {
          "name": "SpinnerEmpty",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 32,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 32,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.39,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.038462,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.53,
        "mechanical": 85.53,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\tasks\\components\\data-table-view-options.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 377,
      "functions": [
        {
          "name": "DataTableViewOptions",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 16,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function DataTableViewOptions is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.25,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017241,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.09,
        "mechanical": 86.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\llm\\[[...slug]]\\route.ts",
      "language": "typescript",
      "line_count": 52,
      "token_estimate": 330,
      "functions": [
        {
          "name": "getStyleFromSlug",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 2,
            "parameter_count": 2,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0341,
          "ai_signals": []
        },
        {
          "name": "GET",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 39,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 39,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3141,
          "ai_signals": [
            "High anti-pattern density (0.80)"
          ]
        },
        {
          "name": "generateStaticParams",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0341,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 11.06,
        "import_count": 5,
        "export_count": 3,
        "comment_lines": 1,
        "code_lines": 51,
        "comment_ratio": 0.0192,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.31,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.039216,
        "structural_uniformity": 0.1705,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.2,
        "mechanical": 81.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(create)\\lib\\fonts.ts",
      "language": "typescript",
      "line_count": 2,
      "token_estimate": 11,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 2,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 4.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\rss.xml\\route.ts",
      "language": "typescript",
      "line_count": 45,
      "token_estimate": 325,
      "functions": [
        {
          "name": "GET",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 13,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 13,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 14,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2838,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.03,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.066667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.23,
        "mechanical": 75.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\callout.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 191,
      "functions": [
        {
          "name": "Callout",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.1,
        "mechanical": 92.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\index.tsx",
      "language": "tsx",
      "line_count": 64,
      "token_estimate": 612,
      "functions": [
        {
          "name": "CardsDemo",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function CardsDemo is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.07,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 64,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.63,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015625,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.09,
        "mechanical": 84.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\chart-copy-button.tsx",
      "language": "tsx",
      "line_count": 64,
      "token_estimate": 368,
      "functions": [
        {
          "name": "ChartCopyButton",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function ChartCopyButton is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 26,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 28,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2143,
          "ai_signals": [
            "High anti-pattern density (0.61)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 64,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.046875,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.08,
        "mechanical": 74.08,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\color-format-selector.tsx",
      "language": "tsx",
      "line_count": 72,
      "token_estimate": 480,
      "functions": [
        {
          "name": "ColorFormatSelector",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 16,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function ColorFormatSelector is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1098,
          "ai_signals": []
        },
        {
          "name": "ColorFormatSelectorSkeleton",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3485,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 27.5,
        "function_length_stddev": 23.33,
        "import_count": 6,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 72,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.027778,
        "structural_uniformity": 0.1515,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.06,
        "mechanical": 85.06,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\component-wrapper.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 411,
      "functions": [
        {
          "name": "ComponentWrapper",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "constructor",
          "type": "method_definition",
          "line_start": 37,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getDerivedStateFromError",
          "type": "method_definition",
          "line_start": 42,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-error-boundary-classic",
              "severity": "high",
              "line": 42,
              "description": "Section of the app without an error boundary - unhandled errors in children crash the entire app",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "componentDidCatch",
          "type": "method_definition",
          "line_start": 46,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-error-boundary-classic",
              "severity": "high",
              "line": 46,
              "description": "Section of the app without an error boundary - unhandled errors in children crash the entire app",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 47,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "render",
          "type": "method_definition",
          "line_start": 50,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getComponentName",
          "type": "function_declaration",
          "line_start": 63,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 8.33,
        "function_length_stddev": 8.71,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 66,
        "comment_ratio": 0.0149,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.71,
        "debug_artifacts": [
          "console.error line 47"
        ],
        "ai_smell_count": 3,
        "ai_smell_density": 0.045455,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.85,
        "mechanical": 85.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\docs-page-links.tsx",
      "language": "tsx",
      "line_count": 180,
      "token_estimate": 2745,
      "functions": [
        {
          "name": "getPromptUrl",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DocsPageLinks",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 179,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 165,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 165 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 165 lines (> 37 dynamic threshold)",
                "impact": "Function DocsPageLinks is 165 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 35,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 53,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 71,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 91,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 111,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1273,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 86,
        "function_length_stddev": 111.72,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 180,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.32,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.42,
        "mechanical": 75.42,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\mobile-nav.tsx",
      "language": "tsx",
      "line_count": 220,
      "token_estimate": 1647,
      "functions": [
        {
          "name": "MobileNav",
          "type": "function_declaration",
          "line_start": 63,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 130,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 63,
              "description": "Function is 130 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 130 lines (> 37 dynamic threshold)",
                "impact": "Function MobileNav is 130 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 88,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 72,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.173,
          "ai_signals": []
        },
        {
          "name": "MobileLink",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 219,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0114,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 78,
        "function_length_stddev": 73.54,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 220,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.9,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.027273,
        "structural_uniformity": 0.0572,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.68,
        "mechanical": 75.68,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\search-directory.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 374,
      "functions": [
        {
          "name": "SearchDirectory",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function SearchDirectory is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0814,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.89,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.14,
        "mechanical": 83.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\eslint.config.mjs",
      "language": "javascript",
      "line_count": 43,
      "token_estimate": 269,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 2,
        "code_lines": 41,
        "comment_ratio": 0.0465,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\accordion-rtl.tsx",
      "language": "tsx",
      "line_count": 92,
      "token_estimate": 748,
      "functions": [
        {
          "name": "AccordionRtl",
          "type": "function_declaration",
          "line_start": 78,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 92,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\alert-dialog-destructive.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 339,
      "functions": [
        {
          "name": "AlertDialogDestructive",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 20,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1488,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.53,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02381,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.55,
        "mechanical": 89.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\aspect-ratio-rtl.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 272,
      "functions": [
        {
          "name": "AspectRatioRtl",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.55,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\avatar-group-count.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 195,
      "functions": [
        {
          "name": "AvatarGroupCountExample",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 13,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 17,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 22,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.09,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.096774,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.21,
        "mechanical": 72.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\badge-rtl.tsx",
      "language": "tsx",
      "line_count": 68,
      "token_estimate": 382,
      "functions": [
        {
          "name": "BadgeRtl",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 68,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.64,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\breadcrumb-rtl.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 667,
      "functions": [
        {
          "name": "BreadcrumbRtl",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 62,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function BreadcrumbRtl is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 77,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 69,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2442,
          "ai_signals": [
            "High anti-pattern density (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.14,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.028571,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.96,
        "mechanical": 77.96,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-group-input-group.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 453,
      "functions": [
        {
          "name": "ButtonGroupInputGroup",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupInputGroup is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 32,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 42,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-inline-function-jsx-prop",
              "severity": "medium",
              "line": 42,
              "description": "Inline arrow function in JSX prop passed to a custom component - creates new function on every render, breaks React.memo memoization of child",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 21,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.82,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.081967,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.71,
        "mechanical": 67.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-group-size.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 326,
      "functions": [
        {
          "name": "ButtonGroupSize",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 6,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupSize is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.19,
        "mechanical": 85.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-secondary.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 39,
      "functions": [
        {
          "name": "ButtonSecondary",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\calendar-demo.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 97,
      "functions": [
        {
          "name": "CalendarDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\card-demo.tsx",
      "language": "tsx",
      "line_count": 64,
      "token_estimate": 458,
      "functions": [
        {
          "name": "CardDemo",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function CardDemo is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.07,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 64,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.08,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015625,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.09,
        "mechanical": 84.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\carousel-plugin.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 292,
      "functions": [
        {
          "name": "CarouselPlugin",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 17,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1167,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.44,
        "mechanical": 88.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\chart-example-tooltip.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 336,
      "functions": [
        {
          "name": "ChartBarDemoTooltip",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 36,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 44,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.31,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.039216,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.5,
        "mechanical": 87.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\checkbox-group.tsx",
      "language": "tsx",
      "line_count": 75,
      "token_estimate": 545,
      "functions": [
        {
          "name": "CheckboxGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 64,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 64 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 64 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxGroup is 64 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0547,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 64,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 75,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.59,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.67,
        "mechanical": 81.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\collapsible-settings.tsx",
      "language": "tsx",
      "line_count": 73,
      "token_estimate": 592,
      "functions": [
        {
          "name": "CollapsibleSettings",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function CollapsibleSettings is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 23,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1373,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 51,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 73,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.32,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.027397,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.35,
        "mechanical": 78.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\combobox-input-group.tsx",
      "language": "tsx",
      "line_count": 82,
      "token_estimate": 461,
      "functions": [
        {
          "name": "ComboxboxInputGroup",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 82,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\command-groups.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 524,
      "functions": [
        {
          "name": "CommandWithGroups",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 26,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function CommandWithGroups is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 27,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1373,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 51,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.47,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.025974,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.21,
        "mechanical": 81.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\context-menu-groups.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 596,
      "functions": [
        {
          "name": "ContextMenuGroups",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuGroups is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0797,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.55,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012987,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.75,
        "mechanical": 81.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\data-table-demo.tsx",
      "language": "tsx",
      "line_count": 320,
      "token_estimate": 2239,
      "functions": [
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 83,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 84,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 93,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 106,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 112,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 123,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 127,
          "line_end": 127,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 128,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 143,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DataTableDemo",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 319,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 145,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 175,
              "description": "Function is 145 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 145 lines (> 37 dynamic threshold)",
                "impact": "Function DataTableDemo is 145 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 208,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 208,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 208,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 210,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 264,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 182,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.169,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 24.22,
        "function_length_stddev": 46.08,
        "import_count": 8,
        "export_count": 3,
        "comment_lines": 1,
        "code_lines": 319,
        "comment_ratio": 0.0031,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.08,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.028213,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.57,
        "mechanical": 87.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\date-picker-rtl.tsx",
      "language": "tsx",
      "line_count": 100,
      "token_estimate": 558,
      "functions": [
        {
          "name": "DatePickerRtl",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerRtl is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 72,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 61,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 65,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 61,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 65,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 100,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.93,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.06,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.0,
        "mechanical": 67.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\drawer-demo.tsx",
      "language": "tsx",
      "line_count": 136,
      "token_estimate": 797,
      "functions": [
        {
          "name": "DrawerDemo",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 75,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 61,
              "description": "Function is 75 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 75 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerDemo is 75 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 116,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 116,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1867,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 75,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 136,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.029412,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.65,
        "mechanical": 77.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dropdown-menu-checkboxes.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 369,
      "functions": [
        {
          "name": "DropdownMenuCheckboxes",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 16,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3121,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.7,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.057692,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.98,
        "mechanical": 74.98,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dropdown-menu-shortcuts.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 315,
      "functions": [
        {
          "name": "DropdownMenuShortcuts",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0495,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 12.97,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\empty-outline.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 196,
      "functions": [
        {
          "name": "EmptyOutline",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\field-radio.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 321,
      "functions": [
        {
          "name": "FieldRadio",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.53,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\hover-card-demo.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 207,
      "functions": [
        {
          "name": "HoverCardDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import {\n  Avatar,\n  AvatarFallback,\n  AvatarImage,\n} from \"@/styles/base-nova/ui/avatar\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Avatar' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Avatar,\n  AvatarFallback,\n  AvatarImage,\n} from \"@/styles/base-nova/ui/avatar\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import {\n  Avatar,\n  AvatarFallback,\n  AvatarImage,\n} from \"@/styles/base-nova/ui/avatar\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'AvatarFallback' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Avatar,\n  AvatarFallback,\n  AvatarImage,\n} from \"@/styles/base-nova/ui/avatar\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import {\n  Avatar,\n  AvatarFallback,\n  AvatarImage,\n} from \"@/styles/base-nova/ui/avatar\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'AvatarImage' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Avatar,\n  AvatarFallback,\n  AvatarImage,\n} from \"@/styles/base-nova/ui/avatar\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 3
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-field.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 126,
      "functions": [
        {
          "name": "InputField",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-button-group.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 197,
      "functions": [
        {
          "name": "InputGroupButtonGroup",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-inline-start.tsx",
      "language": "tsx",
      "line_count": 28,
      "token_estimate": 182,
      "functions": [
        {
          "name": "InputGroupInlineStart",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-tooltip.tsx",
      "language": "tsx",
      "line_count": 76,
      "token_estimate": 535,
      "functions": [
        {
          "name": "InputGroupTooltip",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 61,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 61 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 61 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupTooltip is 61 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0574,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 61,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 76,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.01,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013158,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.71,
        "mechanical": 81.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-otp-alphanumeric.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 164,
      "functions": [
        {
          "name": "InputOTPAlphanumeric",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 16,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 22,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.95,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.206897,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.9,
        "mechanical": 72.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-otp-rtl.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 314,
      "functions": [
        {
          "name": "InputOTPRtl",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 51,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 52,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.4,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.098361,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.21,
        "mechanical": 71.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\item-header.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 417,
      "functions": [
        {
          "name": "ItemHeaderDemo",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 43,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 43,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.28,
          "ai_signals": [
            "High anti-pattern density (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.032787,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.3,
        "mechanical": 87.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\kbd-demo.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 100,
      "functions": [
        {
          "name": "KbdDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 4.43,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\menubar-demo.tsx",
      "language": "tsx",
      "line_count": 137,
      "token_estimate": 1128,
      "functions": [
        {
          "name": "MenubarDemo",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarDemo is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0422,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 137,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.77,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007299,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.18,
        "mechanical": 83.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\native-select-groups.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 338,
      "functions": [
        {
          "name": "NativeSelectGroups",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0107,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.64,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\pagination-rtl.tsx",
      "language": "tsx",
      "line_count": 89,
      "token_estimate": 489,
      "functions": [
        {
          "name": "toArabicNumerals",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0177,
          "ai_signals": []
        },
        {
          "name": "PaginationRtl",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0177,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 20.51,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 89,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.12,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0886,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\progress-demo.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 97,
      "functions": [
        {
          "name": "ProgressDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 15,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 8,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 10,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.176471,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.0,
        "mechanical": 75.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\radio-group-fieldset.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 323,
      "functions": [
        {
          "name": "RadioGroupFieldset",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.61,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\scroll-area-horizontal-demo.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 403,
      "functions": [
        {
          "name": "ScrollAreaHorizontalDemo",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 33,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 33,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.25,
          "ai_signals": [
            "High anti-pattern density (0.71)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.89,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.037037,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.34,
        "mechanical": 85.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\select-scrollable.tsx",
      "language": "tsx",
      "line_count": 113,
      "token_estimate": 850,
      "functions": [
        {
          "name": "SelectScrollable",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 62,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function SelectScrollable is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0686,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 51,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 113,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.32,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.00885,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.49,
        "mechanical": 85.49,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sheet-rtl.tsx",
      "language": "tsx",
      "line_count": 99,
      "token_estimate": 642,
      "functions": [
        {
          "name": "SheetRtl",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 99,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.4,
        "mechanical": 89.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-header.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 407,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.9,
        "mechanical": 91.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\skeleton-avatar.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 94,
      "functions": [
        {
          "name": "SkeletonAvatar",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\slider-demo.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 55,
      "functions": [
        {
          "name": "SliderDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 5,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.79,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.076923,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.77,
        "mechanical": 80.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sonner-position.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 336,
      "functions": [
        {
          "name": "SonnerPosition",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 7,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function SonnerPosition is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0648,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 54,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.57,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016393,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.7,
        "mechanical": 82.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\spinner-rtl.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 315,
      "functions": [
        {
          "name": "SpinnerRtl",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\switch-sizes.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 149,
      "functions": [
        {
          "name": "SwitchSizes",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.76,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\tabs-line.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 100,
      "functions": [
        {
          "name": "TabsLine",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\textarea-rtl.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 322,
      "functions": [
        {
          "name": "TextareaRtl",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-group-sizes.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 307,
      "functions": [
        {
          "name": "ToggleGroupSizes",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\tooltip-disabled.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 136,
      "functions": [
        {
          "name": "TooltipDisabled",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 10,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.91,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.041667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.78,
        "mechanical": 87.78,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-h3.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 37,
      "functions": [
        {
          "name": "TypographyH3",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-rtl.tsx",
      "language": "tsx",
      "line_count": 220,
      "token_estimate": 2527,
      "functions": [
        {
          "name": "TypographyRtl",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 219,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 139,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function TypographyRtl is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-table-missing-caption",
              "severity": "medium",
              "line": 188,
              "description": "Data table without caption or aria-label - screen reader users cannot understand the table's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0864,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 81,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 220,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.12,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.009091,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.73,
        "mechanical": 82.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\accordion-multiple.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 338,
      "functions": [
        {
          "name": "AccordionMultiple",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\alert-dialog-demo.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 263,
      "functions": [
        {
          "name": "AlertDialogDemo",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.017,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.02,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\aspect-ratio-portrait.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 121,
      "functions": [
        {
          "name": "AspectRatioPortrait",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\avatar-group-count-icon.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 213,
      "functions": [
        {
          "name": "AvatarGroupCountIconExample",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 15,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 19,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 24,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.08,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.085714,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.37,
        "mechanical": 74.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\badge-link.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 70,
      "functions": [
        {
          "name": "BadgeAsLink",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\breadcrumb-link.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 205,
      "functions": [
        {
          "name": "BreadcrumbLinkDemo",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 18,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 24,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3142,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.59,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.057143,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.81,
        "mechanical": 81.81,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-group-demo.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 873,
      "functions": [
        {
          "name": "ButtonGroupDemo",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 83,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 32,
              "description": "Function is 83 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 83 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupDemo is 83 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 33,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0928,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 83,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.51,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017391,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.65,
        "mechanical": 80.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-group-select.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 393,
      "functions": [
        {
          "name": "ButtonGroupSelect",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 33,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.22,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015873,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.73,
        "mechanical": 89.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-rtl.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 354,
      "functions": [
        {
          "name": "ButtonRtl",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.13,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\calendar-custom-days.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 405,
      "functions": [
        {
          "name": "CalendarCustomDays",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarCustomDays is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 21,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1667,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.99,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.038462,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.78,
        "mechanical": 80.78,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\calendar-week-numbers.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 152,
      "functions": [
        {
          "name": "CalendarWeekNumbers",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\carousel-orientation.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 252,
      "functions": [
        {
          "name": "CarouselOrientation",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.9,
        "mechanical": 94.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\chart-example-legend.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 360,
      "functions": [
        {
          "name": "ChartBarDemoLegend",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 38,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 47,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.6,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.055556,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.11,
        "mechanical": 83.11,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\checkbox-disabled.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 139,
      "functions": [
        {
          "name": "CheckboxDisabled",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\collapsible-rtl.tsx",
      "language": "tsx",
      "line_count": 93,
      "token_estimate": 673,
      "functions": [
        {
          "name": "CollapsibleRtl",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 58,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0946,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 93,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010753,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.21,
        "mechanical": 89.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\combobox-groups.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 428,
      "functions": [
        {
          "name": "ComboboxWithGroupsAndSeparator",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.42,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\command-dialog.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 594,
      "functions": [
        {
          "name": "CommandDialogDemo",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 64,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 64 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 64 lines (> 37 dynamic threshold)",
                "impact": "Function CommandDialogDemo is 64 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 40,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 25,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 27,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 64,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.88,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.045455,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.64,
        "mechanical": 73.64,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\context-menu-destructive.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 309,
      "functions": [
        {
          "name": "ContextMenuDestructive",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.12,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\data-picker-with-dropdowns.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 418,
      "functions": [
        {
          "name": "DataPickerWithDropdowns",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 16,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function DataPickerWithDropdowns is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1667,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.59,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.034483,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.28,
        "mechanical": 79.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\date-picker-range.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 438,
      "functions": [
        {
          "name": "DatePickerWithRange",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerWithRange is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 36,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 34,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.065574,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.41,
        "mechanical": 68.41,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dialog-sticky-footer.tsx",
      "language": "tsx",
      "line_count": 49,
      "token_estimate": 418,
      "functions": [
        {
          "name": "DialogStickyFooter",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 49,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dropdown-menu-checkboxes-icons.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 465,
      "functions": [
        {
          "name": "DropdownMenuCheckboxesIcons",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 16,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuCheckboxesIcons is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1663,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.04,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.031746,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.96,
        "mechanical": 80.96,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dropdown-menu-rtl.tsx",
      "language": "tsx",
      "line_count": 242,
      "token_estimate": 1874,
      "functions": [
        {
          "name": "DropdownMenuRtl",
          "type": "function_declaration",
          "line_start": 122,
          "line_end": 241,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 120,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 122,
              "description": "Function is 120 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 120 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuRtl is 120 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 124,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 125,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 126,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 127,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1532,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 120,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 242,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.44,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.020661,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 69.83,
        "mechanical": 69.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\empty-input-group.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 283,
      "functions": [
        {
          "name": "EmptyInputGroup",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.9,
        "mechanical": 94.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\field-input.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 220,
      "functions": [
        {
          "name": "FieldInput",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.61,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\file-upload-list.tsx",
      "language": "tsx",
      "line_count": 70,
      "token_estimate": 392,
      "functions": [
        {
          "name": "FileUploadList",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 16,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function FileUploadList is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1296,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 54,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 70,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.028571,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.66,
        "mechanical": 79.66,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-disabled.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 124,
      "functions": [
        {
          "name": "InputDisabled",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-block-start.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 436,
      "functions": [
        {
          "name": "InputGroupBlockStart",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupBlockStart is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 39,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.175,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.06,
        "debug_artifacts": [
          "console.log line 39"
        ],
        "ai_smell_count": 2,
        "ai_smell_density": 0.034483,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.38,
        "mechanical": 80.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-inline-end.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 186,
      "functions": [
        {
          "name": "InputGroupInlineEnd",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-textarea.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 341,
      "functions": [
        {
          "name": "InputGroupTextareaExample",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 22,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.77,
        "debug_artifacts": [
          "console.log line 22"
        ],
        "ai_smell_count": 1,
        "ai_smell_density": 0.021277,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.38,
        "mechanical": 86.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-invalid.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 116,
      "functions": [
        {
          "name": "InputInvalid",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-otp-pattern.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 187,
      "functions": [
        {
          "name": "InputOTPPattern",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 19,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 20,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 21,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 22,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.206897,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.9,
        "mechanical": 72.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\item-group.tsx",
      "language": "tsx",
      "line_count": 64,
      "token_estimate": 391,
      "functions": [
        {
          "name": "ItemGroupExample",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 10,
              "description": "Unused import: import {\n  Item,\n  ItemActions,\n  ItemContent,\n  ItemDescription,\n  ItemGroup,\n  ItemMedia,\n  ItemSeparator,\n  ItemTitle,\n} from \"@/styles/radix-nova/ui/item\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'ItemSeparator' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Item,\n  ItemActions,\n  ItemContent,\n  ItemDescription,\n  ItemGroup,\n  ItemMedia,\n  ItemSeparator,\n  ItemTitle,\n} from \"@/styles/radix-nova/ui/item\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 64,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015625,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.59,
        "mechanical": 91.59,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\kbd-button.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 77,
      "functions": [
        {
          "name": "KbdButton",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.42,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\menubar-checkbox.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 309,
      "functions": [
        {
          "name": "MenubarCheckbox",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.019,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\native-select-disabled.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 119,
      "functions": [
        {
          "name": "NativeSelectDisabled",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0117,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\pagination-icons-only.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 363,
      "functions": [
        {
          "name": "PaginationIconsOnly",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\progress-controlled.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 125,
      "functions": [
        {
          "name": "ProgressControlled",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 13,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 14,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 9,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.69,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.125,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.2,
        "mechanical": 73.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\radio-group-disabled.tsx",
      "language": "tsx",
      "line_count": 28,
      "token_estimate": 240,
      "functions": [
        {
          "name": "RadioGroupDisabled",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\scroll-area-demo.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 172,
      "functions": [
        {
          "name": "ScrollAreaDemo",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\select-rtl.tsx",
      "language": "tsx",
      "line_count": 116,
      "token_estimate": 698,
      "functions": [
        {
          "name": "SelectRtl",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 71,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function SelectRtl is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 92,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1556,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 116,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.29,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017241,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.69,
        "mechanical": 82.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sheet-no-close-button.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 181,
      "functions": [
        {
          "name": "SheetNoCloseButton",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.73,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-group.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 279,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0305,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.83,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-rtl.tsx",
      "language": "tsx",
      "line_count": 522,
      "token_estimate": 3966,
      "functions": [
        {
          "name": "SidebarRtl",
          "type": "function_declaration",
          "line_start": 187,
          "line_end": 193,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "AppSidebarWithProvider",
          "type": "function_declaration",
          "line_start": 195,
          "line_end": 210,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 201,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        },
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 212,
          "line_end": 284,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 73,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 212,
              "description": "Function is 73 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 73 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 73 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 275,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0959,
          "ai_signals": []
        },
        {
          "name": "SidebarContentInner",
          "type": "function_declaration",
          "line_start": 286,
          "line_end": 521,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 236,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 286,
              "description": "Function is 236 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 236 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarContentInner is 236 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 439,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 459,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 363,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 382,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 316,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 360,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1038,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 83,
        "function_length_stddev": 106.1,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 522,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.98,
        "debug_artifacts": [],
        "ai_smell_count": 10,
        "ai_smell_density": 0.019157,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.96,
        "mechanical": 78.96,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\slider-controlled.tsx",
      "language": "tsx",
      "line_count": 30,
      "token_estimate": 186,
      "functions": [
        {
          "name": "SliderControlled",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 9,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1591,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 30,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.7,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.07,
        "mechanical": 88.07,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sonner-description.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 98,
      "functions": [
        {
          "name": "SonnerDescription",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.15,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\spinner-input-group.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 242,
      "functions": [
        {
          "name": "SpinnerInputGroup",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\switch-rtl.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 334,
      "functions": [
        {
          "name": "SwitchRtl",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\tabs-icons.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 115,
      "functions": [
        {
          "name": "TabsIcons",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.43,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\textarea-invalid.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 125,
      "functions": [
        {
          "name": "TextareaInvalid",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.42,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-group-rtl.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 268,
      "functions": [
        {
          "name": "ToggleGroupRtl",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\tooltip-demo.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 102,
      "functions": [
        {
          "name": "TooltipDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-h2.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 47,
      "functions": [
        {
          "name": "TypographyH2",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-p.tsx",
      "language": "tsx",
      "line_count": 9,
      "token_estimate": 59,
      "functions": [
        {
          "name": "TypographyP",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 8,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 9,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\hooks\\use-media-query.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 114,
      "functions": [
        {
          "name": "useMediaQuery",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 4,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 6,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.72,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.1,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.9,
        "mechanical": 72.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\changelog.ts",
      "language": "typescript",
      "line_count": 51,
      "token_estimate": 310,
      "functions": [
        {
          "name": "getDateFromFile",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 1
          },
          "anti_patterns": [],
          "ai_confidence": 0.1646,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "getChangelogPages",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-array-mutation-in-render",
              "severity": "high",
              "line": 38,
              "description": "Array.prototype methods that mutate (sort, splice, reverse) called in render - mutates props/state, causes bugs across renders",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 46,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5146,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.82)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 16,
        "function_length_stddev": 2.83,
        "import_count": 4,
        "export_count": 4,
        "comment_lines": 3,
        "code_lines": 48,
        "comment_ratio": 0.0588,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.07,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.0625,
        "structural_uniformity": 0.8232,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.08,
        "mechanical": 77.08,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\fonts.ts",
      "language": "typescript",
      "line_count": 44,
      "token_estimate": 207,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.42,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\source.ts",
      "language": "typescript",
      "line_count": 8,
      "token_estimate": 42,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\_legacy-colors.ts",
      "language": "typescript",
      "line_count": 2127,
      "token_estimate": 11643,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 2127,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 3.99,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\dashboard-01\\components\\chart-area-interactive.tsx",
      "language": "tsx",
      "line_count": 301,
      "token_estimate": 2727,
      "functions": [
        {
          "name": "ChartAreaInteractive",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 300,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 158,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 143,
              "description": "Function is 158 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 158 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaInteractive is 158 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 252,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 267,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 270,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 145,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 147,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1329,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 158,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 301,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.71,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.019934,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.52,
        "mechanical": 77.52,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\dashboard-01\\page.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 352,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 30,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 14,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 14,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.72,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.078947,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.86,
        "mechanical": 74.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\login-04\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 84,
      "functions": [
        {
          "name": "LoginPage",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\contribution-history.tsx",
      "language": "tsx",
      "line_count": 114,
      "token_estimate": 842,
      "functions": [
        {
          "name": "ContributionHistory",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 70,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 44,
              "description": "Function is 70 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 70 lines (> 37 dynamic threshold)",
                "impact": "Function ContributionHistory is 70 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 67,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 70,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 114,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.84,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017544,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.61,
        "mechanical": 80.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\index-investing.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 278,
      "functions": [
        {
          "name": "IndexInvesting",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import { Button } from \"@/registry/bases/base/ui/button\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Button' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Button } from \"@/registry/bases/base/ui/button\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 2,
              "description": "Unused import: import {\n  Card,\n  CardAction,\n  CardContent,\n  CardDescription,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/base/ui/card\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CardAction' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Card,\n  CardAction,\n  CardContent,\n  CardDescription,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/base/ui/card\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 10,
              "description": "Unused import: import { IconPlaceholder } from \"@/app/(create)/components/icon-placeholder\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'IconPlaceholder' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { IconPlaceholder } from \"@/app/(create)/components/icon-placeholder\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.76,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 3
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\preferences.tsx",
      "language": "tsx",
      "line_count": 110,
      "token_estimate": 832,
      "functions": [
        {
          "name": "Preferences",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 73,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 37,
              "description": "Function is 73 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 73 lines (> 37 dynamic threshold)",
                "impact": "Function Preferences is 73 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0479,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 73,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 110,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.79,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009091,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.73,
        "mechanical": 82.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\sidebar-nav.tsx",
      "language": "tsx",
      "line_count": 238,
      "token_estimate": 2396,
      "functions": [
        {
          "name": "SidebarNav",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 237,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 220,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 220 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 220 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarNav is 220 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0352,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 220,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 238,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.16,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.004202,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.95,
        "mechanical": 83.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\analytics-card.tsx",
      "language": "tsx",
      "line_count": 78,
      "token_estimate": 485,
      "functions": [
        {
          "name": "AnalyticsCard",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function AnalyticsCard is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 62,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1795,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 2,
        "code_lines": 76,
        "comment_ratio": 0.0256,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.026316,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.72,
        "mechanical": 84.72,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\contributors.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 345,
      "functions": [
        {
          "name": "Contributors",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 49,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 50,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2414,
          "ai_signals": [
            "High anti-pattern density (0.69)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 65,
        "comment_ratio": 0.0152,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.030769,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.61,
        "mechanical": 86.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\live-waveform.tsx",
      "language": "tsx",
      "line_count": 557,
      "token_estimate": 4525,
      "functions": [
        {
          "name": "LiveWaveform",
          "type": "arrow_function",
          "line_start": 17,
          "line_end": 489,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 473,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 4,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 473 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 473 lines (> 37 dynamic threshold)",
                "impact": "Function LiveWaveform is 473 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 259,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 259,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 271,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 259,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 259,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 271,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 115,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 80,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 103,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 219,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 304,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1555,
          "ai_signals": []
        },
        {
          "name": "LiveWaveformCard",
          "type": "function_declaration",
          "line_start": 491,
          "line_end": 556,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 66,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 2,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 491,
              "description": "Function is 66 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 66 lines (> 37 dynamic threshold)",
                "impact": "Function LiveWaveformCard is 66 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 519,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 492,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 493,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2788,
          "ai_signals": [
            "High anti-pattern density (0.61)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 269.5,
        "function_length_stddev": 287.79,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 3,
        "code_lines": 554,
        "comment_ratio": 0.0054,
        "comment_what_ratio": 0.3333,
        "naming_avg_length": 8.28,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.028881,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 65.28,
        "mechanical": 65.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\skeleton-loading.tsx",
      "language": "tsx",
      "line_count": 30,
      "token_estimate": 229,
      "functions": [
        {
          "name": "SkeletonLoading",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 30,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.94,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\index.tsx",
      "language": "tsx",
      "line_count": 98,
      "token_estimate": 1365,
      "functions": [
        {
          "name": "PreviewExample",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 35,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function PreviewExample is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0556,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 31,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 98,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010204,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.45,
        "mechanical": 82.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-02\\page.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 410,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 42,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.019231,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.69,
        "mechanical": 87.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-06\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 186,
      "token_estimate": 1013,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 149,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0946,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 185,
        "comment_ratio": 0.0054,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.8,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005405,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.55,
        "mechanical": 90.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-07\\components\\team-switcher.tsx",
      "language": "tsx",
      "line_count": 113,
      "token_estimate": 898,
      "functions": [
        {
          "name": "TeamSwitcher",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 90,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 90 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 90 lines (> 37 dynamic threshold)",
                "impact": "Function TeamSwitcher is 90 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 33,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0778,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 90,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 113,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.05,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017699,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.58,
        "mechanical": 72.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-09\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 310,
      "token_estimate": 2538,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 185,
          "line_end": 309,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 125,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 185,
              "description": "Function is 125 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 125 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 125 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 265,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-array-mutation-in-render",
              "severity": "high",
              "line": 243,
              "description": "Array.prototype methods that mutate (sort, splice, reverse) called in render - mutates props/state, causes bugs across renders",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 275,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 188,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 189,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.196,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 125,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 3,
        "code_lines": 307,
        "comment_ratio": 0.0097,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.022801,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.3,
        "mechanical": 79.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-10\\components\\nav-workspaces.tsx",
      "language": "tsx",
      "line_count": 100,
      "token_estimate": 793,
      "functions": [
        {
          "name": "NavWorkspaces",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 78,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 78 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 78 lines (> 37 dynamic threshold)",
                "impact": "Function NavWorkspaces is 78 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0449,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 78,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 100,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.83,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.01,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.5,
        "mechanical": 82.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-12\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 144,
      "token_estimate": 1161,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 45,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0882,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 144,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.02,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.54,
        "mechanical": 78.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-15\\components\\nav-favorites.tsx",
      "language": "tsx",
      "line_count": 130,
      "token_estimate": 1075,
      "functions": [
        {
          "name": "NavFavorites",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 109,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 109 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 109 lines (> 37 dynamic threshold)",
                "impact": "Function NavFavorites is 109 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 37,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 109,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 130,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.32,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.015385,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.15,
        "mechanical": 81.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-15\\page.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 400,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-16\\page.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 300,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\signup-04\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 85,
      "functions": [
        {
          "name": "SignupPage",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\alert-example.tsx",
      "language": "tsx",
      "line_count": 228,
      "token_estimate": 1884,
      "functions": [
        {
          "name": "AlertExample",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0401,
          "ai_signals": []
        },
        {
          "name": "AlertExample1",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0401,
          "ai_signals": []
        },
        {
          "name": "AlertExample2",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 97,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 49,
              "description": "Function is 97 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 97 lines (> 37 dynamic threshold)",
                "impact": "Function AlertExample2 is 97 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0762,
          "ai_signals": []
        },
        {
          "name": "AlertExample3",
          "type": "function_declaration",
          "line_start": 147,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 147,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function AlertExample3 is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1235,
          "ai_signals": []
        },
        {
          "name": "AlertExample4",
          "type": "function_declaration",
          "line_start": 190,
          "line_end": 227,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 190,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function AlertExample4 is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1322,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 41.8,
        "function_length_stddev": 33.41,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 228,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.87,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.013158,
        "structural_uniformity": 0.2007,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.17,
        "mechanical": 87.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\card-example.tsx",
      "language": "tsx",
      "line_count": 368,
      "token_estimate": 2812,
      "functions": [
        {
          "name": "CardExample",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "CardLogin",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function CardLogin is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1596,
          "ai_signals": []
        },
        {
          "name": "CardMeetingNotes",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 101,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function CardMeetingNotes is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 140,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 145,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 152,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.63)"
          ]
        },
        {
          "name": "CardWithImage",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 198,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 170,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1989,
          "ai_signals": []
        },
        {
          "name": "CardWithImageSmall",
          "type": "function_declaration",
          "line_start": 200,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 205,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1989,
          "ai_signals": []
        },
        {
          "name": "CardHeaderWithBorder",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "CardFooterWithBorder",
          "type": "function_declaration",
          "line_start": 256,
          "line_end": 274,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "CardDefault",
          "type": "function_declaration",
          "line_start": 276,
          "line_end": 300,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "CardSmall",
          "type": "function_declaration",
          "line_start": 302,
          "line_end": 326,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "CardHeaderWithBorderSmall",
          "type": "function_declaration",
          "line_start": 328,
          "line_end": 347,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "CardFooterWithBorderSmall",
          "type": "function_declaration",
          "line_start": 349,
          "line_end": 367,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import Image from \"next/image\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Image' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import Image from \"next/image\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 11,
        "avg_function_length": 30,
        "function_length_stddev": 15.6,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 368,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.02,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.019022,
        "structural_uniformity": 0.48,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.24,
        "mechanical": 89.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\context-menu-example.tsx",
      "language": "tsx",
      "line_count": 598,
      "token_estimate": 4992,
      "functions": [
        {
          "name": "ContextMenuExample",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1086,
          "ai_signals": []
        },
        {
          "name": "ContextMenuBasic",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1086,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithIcons",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 73,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuWithIcons is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1689,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithShortcuts",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 169,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 132,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuWithShortcuts is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2007,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithSubmenu",
          "type": "function_declaration",
          "line_start": 171,
          "line_end": 211,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 171,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuWithSubmenu is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1939,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithGroups",
          "type": "function_declaration",
          "line_start": 213,
          "line_end": 274,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 62,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 213,
              "description": "Function is 62 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 62 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuWithGroups is 62 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.165,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithCheckboxes",
          "type": "function_declaration",
          "line_start": 276,
          "line_end": 297,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1086,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithRadio",
          "type": "function_declaration",
          "line_start": 299,
          "line_end": 334,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 300,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 301,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.303,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "ContextMenuWithDestructive",
          "type": "function_declaration",
          "line_start": 336,
          "line_end": 393,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 336,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuWithDestructive is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1689,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithSides",
          "type": "function_declaration",
          "line_start": 395,
          "line_end": 425,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1086,
          "ai_signals": []
        },
        {
          "name": "ContextMenuInDialog",
          "type": "function_declaration",
          "line_start": 427,
          "line_end": 512,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 86,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 427,
              "description": "Function is 86 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 86 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuInDialog is 86 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1493,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithInset",
          "type": "function_declaration",
          "line_start": 514,
          "line_end": 597,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 84,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 514,
              "description": "Function is 84 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 84 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuWithInset is 84 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 515,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 516,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 517,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2752,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 45.92,
        "function_length_stddev": 23.75,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 598,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.72,
        "debug_artifacts": [],
        "ai_smell_count": 12,
        "ai_smell_density": 0.020067,
        "structural_uniformity": 0.4828,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.21,
        "mechanical": 84.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\input-example.tsx",
      "language": "tsx",
      "line_count": 269,
      "token_estimate": 1843,
      "functions": [
        {
          "name": "InputExample",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputBasic",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputInvalid",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputWithLabel",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputWithDescription",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputDisabled",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputTypes",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 52,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 108,
              "description": "Function is 52 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 52 lines (> 37 dynamic threshold)",
                "impact": "Function InputTypes is 52 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0992,
          "ai_signals": []
        },
        {
          "name": "InputWithSelect",
          "type": "function_declaration",
          "line_start": 161,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputWithButton",
          "type": "function_declaration",
          "line_start": 183,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputWithNativeSelect",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 207,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputForm",
          "type": "function_declaration",
          "line_start": 209,
          "line_end": 268,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 209,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function InputForm is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0902,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 11,
        "avg_function_length": 21.18,
        "function_length_stddev": 17.8,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 269,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.007435,
        "structural_uniformity": 0.1595,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.79,
        "mechanical": 94.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\navigation-menu-example.tsx",
      "language": "tsx",
      "line_count": 186,
      "token_estimate": 1569,
      "functions": [
        {
          "name": "NavigationMenuExample",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "NavigationMenuBasic",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 67,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function NavigationMenuBasic is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 111,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 125,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 139,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 157,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1733,
          "ai_signals": []
        },
        {
          "name": "ListItem",
          "type": "function_declaration",
          "line_start": 169,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 177,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 177,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 41.67,
        "function_length_stddev": 51.63,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 186,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.2,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.037634,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.09,
        "mechanical": 81.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\separator-example.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 744,
      "functions": [
        {
          "name": "SeparatorExample",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1276,
          "ai_signals": []
        },
        {
          "name": "SeparatorHorizontal",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1276,
          "ai_signals": []
        },
        {
          "name": "SeparatorVertical",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1276,
          "ai_signals": []
        },
        {
          "name": "SeparatorVerticalMenu",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1276,
          "ai_signals": []
        },
        {
          "name": "SeparatorInList",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1276,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 18,
        "function_length_stddev": 6.52,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.15,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6378,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\sonner-example.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 260,
      "functions": [
        {
          "name": "SonnerExample",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1288,
          "ai_signals": []
        },
        {
          "name": "SonnerBasic",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1288,
          "ai_signals": []
        },
        {
          "name": "SonnerWithDescription",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1288,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 12.67,
        "function_length_stddev": 4.51,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.644,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.2,
        "mechanical": 99.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\tooltip-example.tsx",
      "language": "tsx",
      "line_count": 192,
      "token_estimate": 1193,
      "functions": [
        {
          "name": "TooltipExample",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1475,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.74)"
          ]
        },
        {
          "name": "TooltipBasic",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1475,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.74)"
          ]
        },
        {
          "name": "TooltipSides",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1475,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.74)"
          ]
        },
        {
          "name": "TooltipWithIcon",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1475,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.74)"
          ]
        },
        {
          "name": "TooltipLongContent",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1475,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.74)"
          ]
        },
        {
          "name": "TooltipDisabled",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1475,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.74)"
          ]
        },
        {
          "name": "TooltipWithKeyboard",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1475,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.74)"
          ]
        },
        {
          "name": "TooltipOnLink",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1475,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.74)"
          ]
        },
        {
          "name": "TooltipFormatted",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1475,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.74)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 18.67,
        "function_length_stddev": 4.9,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 192,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7376,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.4,
        "mechanical": 97.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\_registry.ts",
      "language": "typescript",
      "line_count": 1026,
      "token_estimate": 6691,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 1026,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 574,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 18,
        "function_length_stddev": 3.61,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7997,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 324,
      "token_estimate": 2051,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 79,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3724,
          "ai_signals": [
            "High anti-pattern density (0.88)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 138,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 182,
          "line_end": 190,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 205,
          "line_end": 209,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 211,
          "line_end": 219,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 221,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 234,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 248,
          "line_end": 284,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 286,
          "line_end": 300,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 302,
          "line_end": 304,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0635,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 17,
        "function_length_stddev": 11.6,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 324,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.96,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009259,
        "structural_uniformity": 0.3177,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.12,
        "mechanical": 95.12,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 228,
      "token_estimate": 1354,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 138,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 214,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 165,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 173,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 178,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 183,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 186,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 187,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 171,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4153,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18,
        "function_length_stddev": 12.12,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 228,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.035088,
        "structural_uniformity": 0.3267,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.03,
        "mechanical": 88.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 282,
      "token_estimate": 1674,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 182,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 199,
          "line_end": 210,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 212,
          "line_end": 223,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 225,
          "line_end": 229,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 231,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 248,
          "line_end": 262,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 13.94,
        "function_length_stddev": 9.46,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 282,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.26,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3211,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.82,
        "mechanical": 98.82,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 377,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 133,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\_registry.ts",
      "language": "typescript",
      "line_count": 909,
      "token_estimate": 5666,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 909,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\dashboard-01\\components\\section-cards.tsx",
      "language": "tsx",
      "line_count": 160,
      "token_estimate": 1398,
      "functions": [
        {
          "name": "SectionCards",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 146,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 146 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 146 lines (> 37 dynamic threshold)",
                "impact": "Function SectionCards is 146 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.024,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 146,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 160,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.33,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.00625,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.44,
        "mechanical": 83.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\login-03\\page.tsx",
      "language": "tsx",
      "line_count": 28,
      "token_estimate": 241,
      "functions": [
        {
          "name": "LoginPage",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\catalog-toolbar.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 355,
      "functions": [
        {
          "name": "CatalogToolbar",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\faq.tsx",
      "language": "tsx",
      "line_count": 125,
      "token_estimate": 987,
      "functions": [
        {
          "name": "QuestionList",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0848,
          "ai_signals": []
        },
        {
          "name": "Faq",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 124,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 87,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function Faq is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 104,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 107,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 110,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4348,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 10,
              "description": "Unused import: import {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/radix/ui/card\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CardDescription' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/radix/ui/card\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 10,
              "description": "Unused import: import {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/radix/ui/card\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CardHeader' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/radix/ui/card\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 10,
              "description": "Unused import: import {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/radix/ui/card\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CardTitle' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/radix/ui/card\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 27,
        "function_length_stddev": 15.56,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 125,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.66,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.032,
        "structural_uniformity": 0.4238,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 3
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.9,
        "mechanical": 86.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\payout-threshold.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 860,
      "functions": [
        {
          "name": "PayoutThreshold",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function PayoutThreshold is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 34,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0854,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 82,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017391,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.65,
        "mechanical": 80.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\savings-progress.tsx",
      "language": "tsx",
      "line_count": 107,
      "token_estimate": 835,
      "functions": [
        {
          "name": "SavingsProgress",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 30,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function SavingsProgress is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 39,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1364,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 77,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 107,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.59,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.028037,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.99,
        "mechanical": 77.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\index.tsx",
      "language": "tsx",
      "line_count": 99,
      "token_estimate": 1454,
      "functions": [
        {
          "name": "Preview02Example",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 64,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 35,
              "description": "Function is 64 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 64 lines (> 37 dynamic threshold)",
                "impact": "Function Preview02Example is 64 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0547,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 64,
        "function_length_stddev": 0.0,
        "import_count": 33,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 99,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.8,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010101,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.47,
        "mechanical": 82.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\codespaces-card.tsx",
      "language": "tsx",
      "line_count": 391,
      "token_estimate": 3701,
      "functions": [
        {
          "name": "CodespacesCard",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 390,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 335,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 335 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 335 lines (> 37 dynamic threshold)",
                "impact": "Function CodespacesCard is 335 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 57,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0209,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 335,
        "function_length_stddev": 0.0,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 391,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.28,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.005115,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.22,
        "mechanical": 81.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\invite-team.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 794,
      "functions": [
        {
          "name": "InviteTeam",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 70,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 31,
              "description": "Function is 70 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 70 lines (> 37 dynamic threshold)",
                "impact": "Function InviteTeam is 70 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 45,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 70,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.019802,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.05,
        "mechanical": 80.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\shipping-address.tsx",
      "language": "tsx",
      "line_count": 102,
      "token_estimate": 869,
      "functions": [
        {
          "name": "ShippingAddress",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 78,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 78 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 78 lines (> 37 dynamic threshold)",
                "impact": "Function ShippingAddress is 78 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0449,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 78,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 102,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.5,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009804,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.55,
        "mechanical": 82.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\visitors.tsx",
      "language": "tsx",
      "line_count": 92,
      "token_estimate": 622,
      "functions": [
        {
          "name": "Visitors",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 46,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function Visitors is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1522,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 92,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.23,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021739,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.52,
        "mechanical": 82.52,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-02\\components\\search-form.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 270,
      "functions": [
        {
          "name": "SearchForm",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.93,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-05\\components\\search-form.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 270,
      "functions": [
        {
          "name": "SearchForm",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.93,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-07\\components\\nav-projects.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 970,
      "functions": [
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 99,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 99 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 99 lines (> 37 dynamic threshold)",
                "impact": "Function NavProjects is 99 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 39,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0707,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 99,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.41,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.016667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.83,
        "mechanical": 80.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-08\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 144,
      "token_estimate": 1207,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 72,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0882,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 144,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.79,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.54,
        "mechanical": 78.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-10\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 159,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 24,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.029412,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.15,
        "mechanical": 88.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-12\\components\\calendars.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 771,
      "functions": [
        {
          "name": "Calendars",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 67,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 67 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 67 lines (> 37 dynamic threshold)",
                "impact": "Function Calendars is 67 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 30,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1045,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 67,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.24,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.022727,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.32,
        "mechanical": 79.32,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-15\\components\\calendars.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 771,
      "functions": [
        {
          "name": "Calendars",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 67,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 67 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 67 lines (> 37 dynamic threshold)",
                "impact": "Function Calendars is 67 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 30,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1045,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 67,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.24,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.022727,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.32,
        "mechanical": 79.32,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-15\\components\\sidebar-right.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 506,
      "functions": [
        {
          "name": "SidebarRight",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 59,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1944,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 8,
              "description": "Unused import: import {\n  Sidebar,\n  SidebarContent,\n  SidebarFooter,\n  SidebarHeader,\n  SidebarMenu,\n  SidebarMenuButton,\n  SidebarMenuItem,\n  SidebarRail,\n  SidebarSeparator,\n} from \"@/registry/bases/radix/ui/sidebar\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'SidebarRail' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Sidebar,\n  SidebarContent,\n  SidebarFooter,\n  SidebarHeader,\n  SidebarMenu,\n  SidebarMenuButton,\n  SidebarMenuItem,\n  SidebarRail,\n  SidebarSeparator,\n} from \"@/registry/bases/radix/ui/sidebar\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 79,
        "comment_ratio": 0.0125,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.78,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.025316,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.87,
        "mechanical": 85.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-16\\components\\search-form.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 229,
      "functions": [
        {
          "name": "SearchForm",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\signup-03\\page.tsx",
      "language": "tsx",
      "line_count": 28,
      "token_estimate": 242,
      "functions": [
        {
          "name": "SignupPage",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\accordion-example.tsx",
      "language": "tsx",
      "line_count": 346,
      "token_estimate": 3086,
      "functions": [
        {
          "name": "AccordionExample",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0377,
          "ai_signals": []
        },
        {
          "name": "AccordionBasic",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0377,
          "ai_signals": []
        },
        {
          "name": "AccordionMultiple",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0377,
          "ai_signals": []
        },
        {
          "name": "AccordionWithBorders",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 157,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 100,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function AccordionWithBorders is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 118,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1584,
          "ai_signals": []
        },
        {
          "name": "AccordionInCard",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 293,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 135,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 159,
              "description": "Function is 135 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 135 lines (> 37 dynamic threshold)",
                "impact": "Function AccordionInCard is 135 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 165,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 193,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 212,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 230,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 249,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1933,
          "ai_signals": []
        },
        {
          "name": "AccordionWithDisabled",
          "type": "function_declaration",
          "line_start": 295,
          "line_end": 345,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 295,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function AccordionWithDisabled is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1064,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 53.33,
        "function_length_stddev": 43.27,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 346,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.48,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.026012,
        "structural_uniformity": 0.1887,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.5,
        "mechanical": 80.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\button-group-example.tsx",
      "language": "tsx",
      "line_count": 738,
      "token_estimate": 5498,
      "functions": [
        {
          "name": "ButtonGroupExample",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0612,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupBasic",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0612,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithInput",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0612,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithText",
          "type": "function_declaration",
          "line_start": 99,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0612,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithDropdown",
          "type": "function_declaration",
          "line_start": 122,
          "line_end": 244,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 123,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 122,
              "description": "Function is 123 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 123 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupWithDropdown is 123 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithSelect",
          "type": "function_declaration",
          "line_start": 246,
          "line_end": 280,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 1,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 247,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1612,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithIcons",
          "type": "function_declaration",
          "line_start": 282,
          "line_end": 318,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0612,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithInputGroup",
          "type": "function_declaration",
          "line_start": 320,
          "line_end": 342,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0612,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithFields",
          "type": "function_declaration",
          "line_start": 344,
          "line_end": 386,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 344,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupWithFields is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1426,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithLike",
          "type": "function_declaration",
          "line_start": 388,
          "line_end": 409,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0612,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithSelectAndInput",
          "type": "function_declaration",
          "line_start": 411,
          "line_end": 431,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0612,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupNested",
          "type": "function_declaration",
          "line_start": 433,
          "line_end": 470,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 433,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupNested is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1533,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupPagination",
          "type": "function_declaration",
          "line_start": 472,
          "line_end": 516,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 472,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupPagination is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.139,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupPaginationSplit",
          "type": "function_declaration",
          "line_start": 518,
          "line_end": 562,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 518,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupPaginationSplit is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.139,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupNavigation",
          "type": "function_declaration",
          "line_start": 564,
          "line_end": 602,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 564,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupNavigation is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1509,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupTextAlignment",
          "type": "function_declaration",
          "line_start": 604,
          "line_end": 626,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0612,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupVertical",
          "type": "function_declaration",
          "line_start": 628,
          "line_end": 659,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0612,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupVerticalNested",
          "type": "function_declaration",
          "line_start": 661,
          "line_end": 737,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 661,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupVerticalNested is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1067,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 18,
        "avg_function_length": 37.56,
        "function_length_stddev": 26.06,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 738,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.83,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.01084,
        "structural_uniformity": 0.306,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.02,
        "mechanical": 89.02,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\command-example.tsx",
      "language": "tsx",
      "line_count": 591,
      "token_estimate": 5165,
      "functions": [
        {
          "name": "CommandExample",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "CommandInline",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 84,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 36,
              "description": "Function is 84 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 84 lines (> 37 dynamic threshold)",
                "impact": "Function CommandInline is 84 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0417,
          "ai_signals": []
        },
        {
          "name": "CommandBasic",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 122,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1167,
          "ai_signals": []
        },
        {
          "name": "CommandWithShortcuts",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 211,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 152,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function CommandWithShortcuts is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 153,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1167,
          "ai_signals": []
        },
        {
          "name": "CommandWithGroups",
          "type": "function_declaration",
          "line_start": 213,
          "line_end": 305,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 93,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 213,
              "description": "Function is 93 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 93 lines (> 37 dynamic threshold)",
                "impact": "Function CommandWithGroups is 93 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 214,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0753,
          "ai_signals": []
        },
        {
          "name": "CommandManyItems",
          "type": "function_declaration",
          "line_start": 307,
          "line_end": 590,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 284,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 307,
              "description": "Function is 284 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 284 lines (> 37 dynamic threshold)",
                "impact": "Function CommandManyItems is 284 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 308,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0246,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 93.67,
        "function_length_stddev": 98.33,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 591,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.14,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.013536,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.62,
        "mechanical": 81.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\field-example.tsx",
      "language": "tsx",
      "line_count": 1012,
      "token_estimate": 9040,
      "functions": [
        {
          "name": "FieldExample",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.118,
          "ai_signals": []
        },
        {
          "name": "InputFields",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 73,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 67,
              "description": "Function is 73 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 73 lines (> 37 dynamic threshold)",
                "impact": "Function InputFields is 73 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.166,
          "ai_signals": []
        },
        {
          "name": "TextareaFields",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 201,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 61,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 141,
              "description": "Function is 61 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 61 lines (> 37 dynamic threshold)",
                "impact": "Function TextareaFields is 61 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1754,
          "ai_signals": []
        },
        {
          "name": "SelectFields",
          "type": "function_declaration",
          "line_start": 203,
          "line_end": 297,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 203,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SelectFields is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1549,
          "ai_signals": []
        },
        {
          "name": "NativeSelectFields",
          "type": "function_declaration",
          "line_start": 299,
          "line_end": 392,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 94,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 299,
              "description": "Function is 94 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 94 lines (> 37 dynamic threshold)",
                "impact": "Function NativeSelectFields is 94 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1553,
          "ai_signals": []
        },
        {
          "name": "CheckboxFields",
          "type": "function_declaration",
          "line_start": 394,
          "line_end": 473,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 80,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 394,
              "description": "Function is 80 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 80 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxFields is 80 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1618,
          "ai_signals": []
        },
        {
          "name": "RadioFields",
          "type": "function_declaration",
          "line_start": 475,
          "line_end": 625,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 151,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 475,
              "description": "Function is 151 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 151 lines (> 37 dynamic threshold)",
                "impact": "Function RadioFields is 151 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1412,
          "ai_signals": []
        },
        {
          "name": "SwitchFields",
          "type": "function_declaration",
          "line_start": 627,
          "line_end": 696,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 70,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 627,
              "description": "Function is 70 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 70 lines (> 37 dynamic threshold)",
                "impact": "Function SwitchFields is 70 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.168,
          "ai_signals": []
        },
        {
          "name": "SliderFields",
          "type": "function_declaration",
          "line_start": 698,
          "line_end": 816,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 5,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 698,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function SliderFields is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 699,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 700,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 701,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 702,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 703,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2945,
          "ai_signals": [
            "High anti-pattern density (0.50)"
          ]
        },
        {
          "name": "InputOTPFields",
          "type": "function_declaration",
          "line_start": 818,
          "line_end": 935,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 118,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 2,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 818,
              "description": "Function is 118 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 118 lines (> 37 dynamic threshold)",
                "impact": "Function InputOTPFields is 118 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 829,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 830,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 831,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 832,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 833,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 834,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 847,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 848,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 849,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 850,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 851,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 852,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 865,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 866,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 867,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 871,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 872,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 873,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 890,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 891,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 892,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 893,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 904,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 905,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 906,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 907,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 908,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 909,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 920,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 921,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 922,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 923,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 924,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 925,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 819,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 820,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.468,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "HorizontalFields",
          "type": "function_declaration",
          "line_start": 937,
          "line_end": 1011,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 75,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 937,
              "description": "Function is 75 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 75 lines (> 37 dynamic threshold)",
                "impact": "Function HorizontalFields is 75 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1647,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 11,
        "avg_function_length": 86.55,
        "function_length_stddev": 35.48,
        "import_count": 14,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 1012,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.98,
        "debug_artifacts": [],
        "ai_smell_count": 51,
        "ai_smell_density": 0.050395,
        "structural_uniformity": 0.5901,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.4,
        "mechanical": 72.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\menubar-example.tsx",
      "language": "tsx",
      "line_count": 808,
      "token_estimate": 6577,
      "functions": [
        {
          "name": "MenubarExample",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1196,
          "ai_signals": []
        },
        {
          "name": "MenubarBasic",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarBasic is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1941,
          "ai_signals": []
        },
        {
          "name": "MenubarWithSubmenu",
          "type": "function_declaration",
          "line_start": 103,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 59,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 103,
              "description": "Function is 59 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 59 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarWithSubmenu is 59 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.179,
          "ai_signals": []
        },
        {
          "name": "MenubarWithCheckboxes",
          "type": "function_declaration",
          "line_start": 163,
          "line_end": 200,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 163,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarWithCheckboxes is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2117,
          "ai_signals": []
        },
        {
          "name": "MenubarWithRadio",
          "type": "function_declaration",
          "line_start": 202,
          "line_end": 237,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 203,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 204,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3141,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "MenubarWithIcons",
          "type": "function_declaration",
          "line_start": 239,
          "line_end": 324,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 86,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 239,
              "description": "Function is 86 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 86 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarWithIcons is 86 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1603,
          "ai_signals": []
        },
        {
          "name": "MenubarWithShortcuts",
          "type": "function_declaration",
          "line_start": 326,
          "line_end": 374,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 326,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarWithShortcuts is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1911,
          "ai_signals": []
        },
        {
          "name": "MenubarFormat",
          "type": "function_declaration",
          "line_start": 376,
          "line_end": 437,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 62,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 376,
              "description": "Function is 62 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 62 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarFormat is 62 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1761,
          "ai_signals": []
        },
        {
          "name": "MenubarInsert",
          "type": "function_declaration",
          "line_start": 439,
          "line_end": 520,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 439,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarInsert is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1623,
          "ai_signals": []
        },
        {
          "name": "MenubarDestructive",
          "type": "function_declaration",
          "line_start": 522,
          "line_end": 622,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 522,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarDestructive is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1543,
          "ai_signals": []
        },
        {
          "name": "MenubarInDialog",
          "type": "function_declaration",
          "line_start": 624,
          "line_end": 722,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 99,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 624,
              "description": "Function is 99 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 99 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarInDialog is 99 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.155,
          "ai_signals": []
        },
        {
          "name": "MenubarWithInset",
          "type": "function_declaration",
          "line_start": 724,
          "line_end": 807,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 84,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 724,
              "description": "Function is 84 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 84 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarWithInset is 84 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 725,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 726,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 727,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2863,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 63.33,
        "function_length_stddev": 26.98,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 808,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.29,
        "debug_artifacts": [],
        "ai_smell_count": 15,
        "ai_smell_density": 0.018564,
        "structural_uniformity": 0.574,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.36,
        "mechanical": 80.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\scroll-area-example.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 678,
      "functions": [
        {
          "name": "ScrollAreaExample",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0793,
          "ai_signals": []
        },
        {
          "name": "ScrollAreaVertical",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0793,
          "ai_signals": []
        },
        {
          "name": "ScrollAreaHorizontal",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 65,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.3127,
          "ai_signals": [
            "High anti-pattern density (0.67)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 18.33,
        "function_length_stddev": 11.06,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.21,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.022989,
        "structural_uniformity": 0.3967,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.75,
        "mechanical": 91.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\skeleton-example.tsx",
      "language": "tsx",
      "line_count": 103,
      "token_estimate": 669,
      "functions": [
        {
          "name": "SkeletonExample",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1392,
          "ai_signals": []
        },
        {
          "name": "SkeletonAvatar",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1392,
          "ai_signals": []
        },
        {
          "name": "SkeletonCard",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1392,
          "ai_signals": []
        },
        {
          "name": "SkeletonText",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1392,
          "ai_signals": []
        },
        {
          "name": "SkeletonForm",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1392,
          "ai_signals": []
        },
        {
          "name": "SkeletonTable",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1392,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15,
        "function_length_stddev": 4.56,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 103,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.696,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\toggle-example.tsx",
      "language": "tsx",
      "line_count": 345,
      "token_estimate": 2543,
      "functions": [
        {
          "name": "ToggleExample",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0626,
          "ai_signals": []
        },
        {
          "name": "ToggleBasic",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0626,
          "ai_signals": []
        },
        {
          "name": "ToggleOutline",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0626,
          "ai_signals": []
        },
        {
          "name": "ToggleSizes",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0626,
          "ai_signals": []
        },
        {
          "name": "ToggleWithButtonText",
          "type": "function_declaration",
          "line_start": 109,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0626,
          "ai_signals": []
        },
        {
          "name": "ToggleWithButtonIcon",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 213,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 72,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 142,
              "description": "Function is 72 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 72 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleWithButtonIcon is 72 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1112,
          "ai_signals": []
        },
        {
          "name": "ToggleWithButtonIconText",
          "type": "function_declaration",
          "line_start": 215,
          "line_end": 298,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 84,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 215,
              "description": "Function is 84 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 84 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleWithButtonIconText is 84 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1042,
          "ai_signals": []
        },
        {
          "name": "ToggleDisabled",
          "type": "function_declaration",
          "line_start": 300,
          "line_end": 313,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0626,
          "ai_signals": []
        },
        {
          "name": "ToggleWithIcon",
          "type": "function_declaration",
          "line_start": 315,
          "line_end": 344,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0626,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 36.44,
        "function_length_stddev": 25.04,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 345,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.005797,
        "structural_uniformity": 0.3129,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.62,
        "mechanical": 90.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\lib\\utils.ts",
      "language": "typescript",
      "line_count": 7,
      "token_estimate": 41,
      "functions": [
        {
          "name": "cn",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 6,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 7,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 336,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.1,
        "mechanical": 95.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 273,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.56,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 287,
      "token_estimate": 1909,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 124,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 87,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuCheckboxItem is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1598,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 126,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 189,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 191,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 217,
          "line_end": 221,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 223,
          "line_end": 252,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 254,
          "line_end": 268,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0677,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 16.4,
        "function_length_stddev": 10.85,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 287,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.15,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.003484,
        "structural_uniformity": 0.3385,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.21,
        "mechanical": 97.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 146,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 299,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 17,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.21,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 407,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 304,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\_registry.ts",
      "language": "typescript",
      "line_count": 800,
      "token_estimate": 5141,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 800,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\dashboard-01\\components\\section-cards.tsx",
      "language": "tsx",
      "line_count": 103,
      "token_estimate": 938,
      "functions": [
        {
          "name": "SectionCards",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 90,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 90 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 90 lines (> 37 dynamic threshold)",
                "impact": "Function SectionCards is 90 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0389,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 90,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 103,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.54,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009709,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.57,
        "mechanical": 82.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\login-03\\page.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 175,
      "functions": [
        {
          "name": "LoginPage",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.68,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-01\\page.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 445,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.71,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-04\\page.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 471,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 21,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 21,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2561,
          "ai_signals": [
            "High anti-pattern density (0.73)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.051724,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.77,
        "mechanical": 77.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-07\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 176,
      "token_estimate": 821,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 175,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 166,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 167,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 170,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 175,
        "comment_ratio": 0.0057,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.022857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.19,
        "mechanical": 92.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-08\\components\\nav-projects.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 607,
      "functions": [
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 62,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 62 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 62 lines (> 37 dynamic threshold)",
                "impact": "Function NavProjects is 62 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 46,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 62,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.98,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.44,
        "mechanical": 79.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-10\\components\\nav-actions.tsx",
      "language": "tsx",
      "line_count": 154,
      "token_estimate": 798,
      "functions": [
        {
          "name": "NavActions",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 153,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 101,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function NavActions is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 102,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 104,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1981,
          "ai_signals": [
            "High anti-pattern density (0.57)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 154,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.019481,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.23,
        "mechanical": 82.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-11\\page.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 495,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.93,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.84,
        "mechanical": 86.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-14\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 198,
      "token_estimate": 1032,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 159,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 170,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 182,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 174,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 197,
        "comment_ratio": 0.0051,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.020305,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.22,
        "mechanical": 86.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-15\\components\\nav-workspaces.tsx",
      "language": "tsx",
      "line_count": 86,
      "token_estimate": 645,
      "functions": [
        {
          "name": "NavWorkspaces",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function NavWorkspaces is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0538,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 86,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.74,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011628,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.09,
        "mechanical": 82.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-16\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 231,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 29,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1207,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.42,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.2,
        "mechanical": 88.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\signup-02\\page.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 284,
      "functions": [
        {
          "name": "SignupPage",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 24,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.125,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.66,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.030303,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.02,
        "mechanical": 87.02,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-area-axes.tsx",
      "language": "tsx",
      "line_count": 111,
      "token_estimate": 747,
      "functions": [
        {
          "name": "ChartAreaAxes",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaAxes is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 62,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 76,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2059,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 68,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 111,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.036036,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.99,
        "mechanical": 75.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-area-stacked.tsx",
      "language": "tsx",
      "line_count": 108,
      "token_estimate": 721,
      "functions": [
        {
          "name": "ChartAreaStacked",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaStacked is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 62,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1615,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 108,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.027778,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.06,
        "mechanical": 78.06,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-bar-mixed.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 666,
      "functions": [
        {
          "name": "ChartBarMixed",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 57,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function ChartBarMixed is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 85,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 81,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 81,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 81,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.048077,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.88,
        "mechanical": 76.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-line-interactive.tsx",
      "language": "tsx",
      "line_count": 228,
      "token_estimate": 2183,
      "functions": [
        {
          "name": "ChartLineInteractive",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 227,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 98,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 130,
              "description": "Function is 98 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 98 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLineInteractive is 98 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 185,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 200,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 215,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 153,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 165,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 153,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 165,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2857,
          "ai_signals": [
            "High anti-pattern density (0.82)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 98,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 228,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.19,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.035088,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.23,
        "mechanical": 76.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-pie-donut.tsx",
      "language": "tsx",
      "line_count": 94,
      "token_estimate": 595,
      "functions": [
        {
          "name": "ChartPieDonut",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1892,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 94,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021277,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.58,
        "mechanical": 86.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-pie-stacked.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 813,
      "functions": [
        {
          "name": "ChartPieStacked",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 72,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function ChartPieStacked is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 85,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 99,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 100,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 93,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 93,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 5,
              "description": "Unused import: import { Label, Pie, PieChart } from \"recharts\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Label' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Label, Pie, PieChart } from \"recharts\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 48,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.56,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.05,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.1,
        "mechanical": 76.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-grid-none.tsx",
      "language": "tsx",
      "line_count": 82,
      "token_estimate": 537,
      "functions": [
        {
          "name": "ChartRadarGridNone",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarGridNone is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1628,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 82,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.0,
        "mechanical": 84.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radial-label.tsx",
      "language": "tsx",
      "line_count": 102,
      "token_estimate": 686,
      "functions": [
        {
          "name": "ChartRadialLabel",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 57,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadialLabel is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 76,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1556,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 102,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.019608,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.6,
        "mechanical": 84.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-tooltip-icons.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 563,
      "functions": [
        {
          "name": "ChartTooltipIcons",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 44,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipIcons is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 77,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1591,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.58,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.022727,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.12,
        "mechanical": 84.12,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\alert-demo.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 295,
      "functions": [
        {
          "name": "AlertDemo",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\badge-secondary.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 39,
      "functions": [
        {
          "name": "BadgeSecondary",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-default.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 34,
      "functions": [
        {
          "name": "ButtonDefault",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-group-nested.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 248,
      "functions": [
        {
          "name": "ButtonGroupNested",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-link.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 36,
      "functions": [
        {
          "name": "ButtonLink",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\calendar-hijri.tsx",
      "language": "tsx",
      "line_count": 235,
      "token_estimate": 2098,
      "functions": [
        {
          "name": "CalendarHijri",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 196,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 157,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 40,
              "description": "Function is 157 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 157 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 157 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 164,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 170,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 178,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1115,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 198,
          "line_end": 234,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 212,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 208,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 207,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 208,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 70.33,
        "function_length_stddev": 75.72,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 4,
        "code_lines": 231,
        "comment_ratio": 0.017,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.038961,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.93,
        "mechanical": 71.93,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\carousel-spacing.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 236,
      "functions": [
        {
          "name": "CarouselSpacing",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\checkbox-disabled.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 108,
      "functions": [
        {
          "name": "CheckboxDisabled",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\command-dialog.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 597,
      "functions": [
        {
          "name": "CommandDialogDemo",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 64,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 64 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 64 lines (> 37 dynamic threshold)",
                "impact": "Function CommandDialogDemo is 64 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 40,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 25,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 27,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 64,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.91,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.045455,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.64,
        "mechanical": 73.64,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\drawer-demo.tsx",
      "language": "tsx",
      "line_count": 137,
      "token_estimate": 813,
      "functions": [
        {
          "name": "DrawerDemo",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 76,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 61,
              "description": "Function is 76 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 76 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerDemo is 76 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 116,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 116,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1842,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 76,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 137,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.51,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.029197,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.7,
        "mechanical": 77.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\empty-background.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 224,
      "functions": [
        {
          "name": "EmptyMuted",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\field-fieldset.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 284,
      "functions": [
        {
          "name": "FieldFieldset",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\field-textarea.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 184,
      "functions": [
        {
          "name": "FieldTextarea",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-rhf-checkbox.tsx",
      "language": "tsx",
      "line_count": 188,
      "token_estimate": 1530,
      "functions": [
        {
          "name": "FormRhfCheckbox",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 187,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 134,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 54,
              "description": "Function is 134 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 134 lines (> 37 dynamic threshold)",
                "impact": "Function FormRhfCheckbox is 134 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 119,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 142,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 167,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 74,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 74,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1567,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 134,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 188,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.031915,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.02,
        "mechanical": 77.02,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-rhf-textarea.tsx",
      "language": "tsx",
      "line_count": 111,
      "token_estimate": 810,
      "functions": [
        {
          "name": "FormRhfTextarea",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 34,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function FormRhfTextarea is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 90,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 78,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 53,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 53,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2273,
          "ai_signals": [
            "High anti-pattern density (0.65)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 77,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 111,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.045045,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.74,
        "mechanical": 73.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-tanstack-switch.tsx",
      "language": "tsx",
      "line_count": 122,
      "token_estimate": 883,
      "functions": [
        {
          "name": "FormTanstackSwitch",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function FormTanstackSwitch is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 92,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 52,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 52,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1573,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 89,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 121,
        "comment_ratio": 0.0082,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.033058,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.74,
        "mechanical": 76.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-group-custom.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 210,
      "functions": [
        {
          "name": "InputGroupCustom",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-group-tooltip.tsx",
      "language": "tsx",
      "line_count": 78,
      "token_estimate": 555,
      "functions": [
        {
          "name": "InputGroupTooltip",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupTooltip is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0556,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 78,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.31,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012821,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.79,
        "mechanical": 81.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\item-avatar.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 593,
      "functions": [
        {
          "name": "ItemAvatar",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function ItemAvatar is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 24,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 47,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 52,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 59,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2778,
          "ai_signals": [
            "High anti-pattern density (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.84,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.061728,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 69.57,
        "mechanical": 69.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\item-size.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 292,
      "functions": [
        {
          "name": "ItemSizeDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\menubar-demo.tsx",
      "language": "tsx",
      "line_count": 108,
      "token_estimate": 900,
      "functions": [
        {
          "name": "MenubarDemo",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 91,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 91 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 91 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarDemo is 91 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0473,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 91,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 108,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.53,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009259,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.69,
        "mechanical": 82.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\popover-demo.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 508,
      "functions": [
        {
          "name": "PopoverDemo",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function PopoverDemo is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.066,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.95,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015873,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.13,
        "mechanical": 83.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\scroll-area-horizontal-demo.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 406,
      "functions": [
        {
          "name": "ScrollAreaHorizontalDemo",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 33,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 33,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.25,
          "ai_signals": [
            "High anti-pattern density (0.71)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.92,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.037037,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.34,
        "mechanical": 85.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\slider-demo.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 94,
      "functions": [
        {
          "name": "SliderDemo",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 8,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.058824,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.99,
        "mechanical": 84.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\spinner-demo.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 168,
      "functions": [
        {
          "name": "SpinnerDemo",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\textarea-demo.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 41,
      "functions": [
        {
          "name": "TextareaDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\toggle-group-disabled.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 168,
      "functions": [
        {
          "name": "ToggleGroupDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.13,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\toggle-sm.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 58,
      "functions": [
        {
          "name": "ToggleSm",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-h4.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 43,
      "functions": [
        {
          "name": "TypographyH4",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-table.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 453,
      "functions": [
        {
          "name": "TypographyTable",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function TypographyTable is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-table-missing-caption",
              "severity": "medium",
              "line": 4,
              "description": "Data table without caption or aria-label - screen reader users cannot understand the table's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1591,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.48,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.044444,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.69,
        "mechanical": 78.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\sidebar-group-collapsible.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 464,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.82,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015873,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.73,
        "mechanical": 86.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\sidebar-rsc.tsx",
      "language": "tsx",
      "line_count": 111,
      "token_estimate": 538,
      "functions": [
        {
          "name": "fetchProjects",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0949,
          "ai_signals": []
        },
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0949,
          "ai_signals": []
        },
        {
          "name": "NavProjectsSkeleton",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0949,
          "ai_signals": []
        },
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 101,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2893,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.75,
        "function_length_stddev": 6.7,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 110,
        "comment_ratio": 0.009,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.69,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009091,
        "structural_uniformity": 0.4744,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.9,
        "mechanical": 96.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 68,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 242,
      "token_estimate": 1391,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 242,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.96,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.066116,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.99,
        "mechanical": 72.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 126,
      "functions": [
        {
          "name": "DirectionProvider",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 78,
      "token_estimate": 563,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0733,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0733,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.194,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0733,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 16,
        "function_length_stddev": 10.13,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 78,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.55,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012821,
        "structural_uniformity": 0.3667,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.74,
        "mechanical": 93.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 128,
      "token_estimate": 681,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1138,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1138,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1138,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 52,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2729,
          "ai_signals": []
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1138,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1138,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1138,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 13.71,
        "function_length_stddev": 5.91,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 128,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.61,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007812,
        "structural_uniformity": 0.5692,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.22,
        "mechanical": 96.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 144,
      "token_estimate": 1047,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0134,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0134,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0134,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0134,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0134,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 47,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1009,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0134,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0134,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0134,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0134,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 11.5,
        "function_length_stddev": 10.73,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 144,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.42,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006944,
        "structural_uniformity": 0.0668,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.68,
        "mechanical": 96.68,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 92,
      "token_estimate": 945,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1635,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1635,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1635,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 78,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1635,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 15.75,
        "function_length_stddev": 2.87,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 92,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.26,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8176,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.28,
        "mechanical": 98.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\source.config.ts",
      "language": "typescript",
      "line_count": 40,
      "token_estimate": 213,
      "functions": [
        {
          "name": "rehypePlugins",
          "type": "arrow_function",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "typescript_unused_import",
              "severity": "medium",
              "line": 4,
              "description": "Unused import: import { transformers } from \"@/lib/highlight-code\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'transformers' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { transformers } from \"@/lib/highlight-code\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 2,
        "comment_lines": 11,
        "code_lines": 29,
        "comment_ratio": 0.275,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 732,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 18,
        "function_length_stddev": 3.61,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.12,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7997,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 301,
      "token_estimate": 2298,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.376,
          "ai_signals": [
            "High anti-pattern density (0.88)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 163,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 186,
          "line_end": 190,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 205,
          "line_end": 216,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 218,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 264,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 266,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 281,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.56,
        "function_length_stddev": 10.33,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 301,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009967,
        "structural_uniformity": 0.336,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.37,
        "mechanical": 95.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1481,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.88,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 282,
      "token_estimate": 2091,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 109,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 204,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 206,
          "line_end": 220,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 222,
          "line_end": 226,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 228,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 248,
          "line_end": 262,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 13.94,
        "function_length_stddev": 8.14,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 282,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4157,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.82,
        "mechanical": 98.82,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 406,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 667,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 17,
        "function_length_stddev": 9.56,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4378,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 731,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 194,
      "token_estimate": 1243,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 147,
          "line_end": 165,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 167,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.44,
        "function_length_stddev": 6.31,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 194,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6385,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.77,
        "mechanical": 97.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 466,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.67,
        "function_length_stddev": 16.77,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.9,
        "mechanical": 98.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 490,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 203,
      "token_estimate": 1670,
      "functions": [
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2169,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function SelectContent is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1726,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 153,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 155,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 189,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 19,
        "function_length_stddev": 10.71,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 203,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.92,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.009852,
        "structural_uniformity": 0.4362,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.84,
        "mechanical": 94.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 426,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 188,
      "token_estimate": 1307,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 157,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 168,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3312,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 12.75,
        "function_length_stddev": 5.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 188,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005319,
        "structural_uniformity": 0.5625,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 232,
      "token_estimate": 2102,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1584,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 229,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 211,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3668,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105,
        "function_length_stddev": 96.17,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 232,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.047414,
        "structural_uniformity": 0.0841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.9,
        "mechanical": 66.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2028,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 199,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 9.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3804,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 158,
      "token_estimate": 1294,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 58,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 58,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 61,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5005,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 96,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3255,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 108,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4687,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 148,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.83,
        "function_length_stddev": 3.92,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 158,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.83,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044304,
        "structural_uniformity": 0.7524,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.17,
        "mechanical": 87.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 172,
      "token_estimate": 1868,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3106,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuPositioner",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 127,
          "line_end": 141,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.75,
        "function_length_stddev": 4.98,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 172,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005814,
        "structural_uniformity": 0.7195,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.22,
        "mechanical": 96.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 136,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 521,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 636,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.43,
        "function_length_stddev": 2.88,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7481,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.57,
        "mechanical": 99.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 157,
      "token_estimate": 999,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function DialogContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0987,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 127,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 129,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.5,
        "function_length_stddev": 11.94,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 157,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006369,
        "structural_uniformity": 0.045,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.2,
        "mechanical": 97.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 640,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 134,
      "token_estimate": 729,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 52,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4147,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.57,
        "function_length_stddev": 6.53,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 134,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.552,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.18,
        "mechanical": 94.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 138,
      "token_estimate": 1109,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.8,
        "function_length_stddev": 11.68,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 138,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007246,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.72,
        "mechanical": 97.72,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 859,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 3.4,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.98,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7525,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 100,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 12,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 12,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.086957,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.86,
        "mechanical": 75.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1432,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.98,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\direction.tsx",
      "language": "tsx",
      "line_count": 7,
      "token_estimate": 25,
      "functions": [
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 7,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\input.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 260,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 8,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.99,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.2,
        "mechanical": 87.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\popover.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 647,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 10,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.5,
        "function_length_stddev": 11.13,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0321,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\sidebar.tsx",
      "language": "tsx",
      "line_count": 724,
      "token_estimate": 5506,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 134,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 134,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 108,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 70,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 74,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 76,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 86,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 92,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 97,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3529,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 252,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 152,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 192,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 192,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1069,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 254,
          "line_end": 278,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 280,
          "line_end": 303,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 284,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1488,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 305,
          "line_end": 316,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 318,
          "line_end": 330,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 332,
          "line_end": 341,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 343,
          "line_end": 352,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 354,
          "line_end": 366,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 368,
          "line_end": 380,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 382,
          "line_end": 391,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 393,
          "line_end": 415,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 417,
          "line_end": 439,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 441,
          "line_end": 453,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 455,
          "line_end": 464,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 466,
          "line_end": 475,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 499,
          "line_end": 551,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 499,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 521,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.135,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 553,
          "line_end": 581,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 583,
          "line_end": 598,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 600,
          "line_end": 636,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 629,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 629,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 608,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2867,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 638,
          "line_end": 650,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 652,
          "line_end": 664,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 666,
          "line_end": 696,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 25.21,
        "function_length_stddev": 24.84,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 715,
        "comment_ratio": 0.0124,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 19,
        "ai_smell_density": 0.026573,
        "structural_uniformity": 0.0146,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.75,
        "mechanical": 86.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 210,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 110,
      "token_estimate": 759,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 14.67,
        "function_length_stddev": 2.58,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 110,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.6,
        "mechanical": 98.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2625,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1096,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.5,
        "function_length_stddev": 5.78,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4497,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 202,
      "token_estimate": 1220,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 164,
          "line_end": 175,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 177,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.2,
        "function_length_stddev": 3.68,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 202,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7215,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.04,
        "mechanical": 99.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 435,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressTrack",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 30,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ProgressIndicator",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressLabel",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4866,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ProgressValue",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 13,
        "function_length_stddev": 4.12,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.7,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.035714,
        "structural_uniformity": 0.6828,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.17,
        "mechanical": 90.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 68,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 797,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 50,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 43,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 43,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4735,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.87)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1735,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32,
        "function_length_stddev": 4.24,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8674,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.07,
        "mechanical": 80.07,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 481,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.43,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 339,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2212,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 187,
          "line_end": 194,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 196,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 11.36,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2657,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 209,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 413,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 14,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4949,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 492,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.21,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 418,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.95,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 622,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 13.86,
        "function_length_stddev": 4.14,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7012,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.13,
        "mechanical": 98.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 198,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 8.33,
        "function_length_stddev": 2.89,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6536,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 151,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 417,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 546,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 11.25,
        "function_length_stddev": 8.5,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2444,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.62,
        "mechanical": 99.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 563,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3607,
          "ai_signals": [
            "High anti-pattern density (0.53)",
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 17,
        "function_length_stddev": 2.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.51,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011905,
        "structural_uniformity": 0.8824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.09,
        "mechanical": 94.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 303,
      "token_estimate": 2287,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 82,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3568,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 124,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 126,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 205,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 207,
          "line_end": 218,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 220,
          "line_end": 235,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 237,
          "line_end": 266,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 268,
          "line_end": 279,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 281,
          "line_end": 283,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.69,
        "function_length_stddev": 10.58,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 303,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009901,
        "structural_uniformity": 0.3255,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.35,
        "mechanical": 95.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1511,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.88,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 282,
      "token_estimate": 2131,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 172,
          "line_end": 187,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 189,
          "line_end": 200,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 202,
          "line_end": 216,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 218,
          "line_end": 222,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 224,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 248,
          "line_end": 262,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0912,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 14.94,
        "function_length_stddev": 8.13,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 282,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4559,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.52,
        "mechanical": 98.52,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 423,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 677,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1254,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1254,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1254,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1254,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 19.25,
        "function_length_stddev": 7.18,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6269,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.22,
        "mechanical": 97.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 726,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.86,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.9,
        "mechanical": 93.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 193,
      "token_estimate": 1221,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 117,
          "line_end": 131,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 133,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 164,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.33,
        "function_length_stddev": 6.02,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 193,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6526,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.8,
        "mechanical": 97.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 379,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 11,
        "function_length_stddev": 8.72,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.71,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2075,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 478,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 199,
      "token_estimate": 1675,
      "functions": [
        {
          "name": "Select",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 169,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 16.8,
        "function_length_stddev": 9.67,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 199,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4244,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.51,
        "mechanical": 97.51,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 439,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.92,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 200,
      "token_estimate": 1400,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 148,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 150,
          "line_end": 166,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 168,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 13.75,
        "function_length_stddev": 4.92,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 200,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6422,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 233,
      "token_estimate": 2106,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1607,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 230,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 193,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarDayButton is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 208,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 212,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.369,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105.5,
        "function_length_stddev": 95.46,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 233,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 13,
        "ai_smell_density": 0.055794,
        "structural_uniformity": 0.0952,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 64.8,
        "mechanical": 64.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 268,
      "token_estimate": 2174,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 200,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 202,
          "line_end": 220,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 222,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.13,
        "function_length_stddev": 7.82,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 268,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.13,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4834,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.46,
        "mechanical": 98.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 156,
      "token_estimate": 1317,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 58,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 58,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 61,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.504,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3485,
          "ai_signals": [
            "High anti-pattern density (0.56)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 106,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4722,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 116,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.5,
        "function_length_stddev": 3.56,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 156,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.81,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044872,
        "structural_uniformity": 0.7701,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.13,
        "mechanical": 87.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 168,
      "token_estimate": 1648,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuViewport",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.12,
        "function_length_stddev": 3.64,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 168,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7873,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.55,
        "mechanical": 97.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 161,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\alert.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 515,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.08,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\card.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 661,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.86,
        "function_length_stddev": 2.67,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.55,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7746,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.44,
        "mechanical": 99.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\dialog.tsx",
      "language": "tsx",
      "line_count": 168,
      "token_estimate": 1063,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 140,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.6,
        "function_length_stddev": 10.43,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 168,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2333,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.47,
        "mechanical": 98.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 635,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\pagination.tsx",
      "language": "tsx",
      "line_count": 133,
      "token_estimate": 723,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2715,
          "ai_signals": []
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.43,
        "function_length_stddev": 6.32,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 133,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.22,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007519,
        "structural_uniformity": 0.5619,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.08,
        "mechanical": 96.08,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\sheet.tsx",
      "language": "tsx",
      "line_count": 147,
      "token_estimate": 1142,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 48,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1103,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 11.7,
        "function_length_stddev": 10.5,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 147,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.98,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006803,
        "structural_uniformity": 0.1026,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.56,
        "mechanical": 97.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\tabs.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 892,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 77,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 15.5,
        "function_length_stddev": 2.65,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8293,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.35,
        "mechanical": 98.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 68,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1420,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.01,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 126,
      "functions": [
        {
          "name": "DirectionProvider",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 242,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 7,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-form-missing-labels",
              "severity": "high",
              "line": 7,
              "description": "Form input without associated label - screen readers cannot identify what the input is for",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.1,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.1,
        "mechanical": 74.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 597,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverAnchor",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 9.43,
        "function_length_stddev": 5.77,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3881,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 703,
      "token_estimate": 5325,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 133,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 133,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 107,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 69,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 73,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 75,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 85,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 91,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 251,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 151,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 191,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 191,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.104,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 253,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 302,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 283,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 304,
          "line_end": 315,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 317,
          "line_end": 329,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 331,
          "line_end": 340,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 342,
          "line_end": 351,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 353,
          "line_end": 365,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 367,
          "line_end": 379,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 381,
          "line_end": 390,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 392,
          "line_end": 410,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 412,
          "line_end": 430,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 432,
          "line_end": 444,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 446,
          "line_end": 455,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 457,
          "line_end": 466,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 490,
          "line_end": 538,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 490,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 540,
          "line_end": 564,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 566,
          "line_end": 581,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 583,
          "line_end": 619,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 612,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 612,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 591,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2838,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 621,
          "line_end": 633,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 635,
          "line_end": 647,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 649,
          "line_end": 675,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 24.38,
        "function_length_stddev": 24.66,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 694,
        "comment_ratio": 0.0128,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 18,
        "ai_smell_density": 0.025937,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.74,
        "mechanical": 86.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 210,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 113,
      "token_estimate": 774,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.17,
        "function_length_stddev": 2.23,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 113,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8531,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.45,
        "mechanical": 98.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2625,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 132,
      "token_estimate": 1088,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 107,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0903,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.2,
        "function_length_stddev": 5.59,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 132,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.51,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4516,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.94,
        "mechanical": 99.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 197,
      "token_estimate": 1200,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 95,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 136,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 149,
          "line_end": 157,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 172,
          "line_end": 183,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.8,
        "function_length_stddev": 2.53,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 197,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8024,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.91,
        "mechanical": 98.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 187,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.15,
        "mechanical": 95.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 68,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 817,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 49,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 42,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 42,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4782,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1782,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32.5,
        "function_length_stddev": 3.54,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8912,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.92,
        "mechanical": 79.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\button-group-input-group.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 447,
      "functions": [
        {
          "name": "ButtonGroupInputGroup",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupInputGroup is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 31,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 21,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.96,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.050847,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.09,
        "mechanical": 76.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\field-hear.tsx",
      "language": "tsx",
      "line_count": 73,
      "token_estimate": 544,
      "functions": [
        {
          "name": "FieldHear",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function FieldHear is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.175,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 73,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.39,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.027397,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.15,
        "mechanical": 84.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\notion-prompt-form.tsx",
      "language": "tsx",
      "line_count": 454,
      "token_estimate": 3662,
      "functions": [
        {
          "name": "MentionableIcon",
          "type": "function_declaration",
          "line_start": 147,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 158,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        },
        {
          "name": "NotionPromptForm",
          "type": "function_declaration",
          "line_start": 164,
          "line_end": 453,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 290,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 3,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "console-log-production",
              "severity": "low",
              "line": 405,
              "description": "console.log left in production code",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "ast-grep-pattern",
                "proof": "console.log left in production code",
                "impact": "Debug logging at line 405 pollutes production output and may leak sensitive data",
                "recommendation": "Remove the console statement or replace with a structured logger",
                "confidence": 1.0,
                "fix_type": "deterministic",
                "references": [
                  "https://eslint.org/docs/latest/rules/no-console"
                ]
              }
            },
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 164,
              "description": "Function is 290 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 290 lines (> 37 dynamic threshold)",
                "impact": "Function NotionPromptForm is 290 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 245,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 275,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 409,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 186,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 173,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 186,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 166,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 167,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 171,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 383,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 392,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 405,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.169,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 153,
        "function_length_stddev": 193.75,
        "import_count": 11,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 453,
        "comment_ratio": 0.0022,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.98,
        "debug_artifacts": [
          "console.log line 405"
        ],
        "ai_smell_count": 15,
        "ai_smell_density": 0.033113,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 70.97,
        "mechanical": 70.97,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\charts\\charts.tsx",
      "language": "tsx",
      "line_count": 276,
      "token_estimate": 3251,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 71,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 275,
        "comment_ratio": 0.0036,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\chart-color-picker.tsx",
      "language": "tsx",
      "line_count": 137,
      "token_estimate": 1040,
      "functions": [
        {
          "name": "ChartColorPicker",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 114,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 114 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 114 lines (> 37 dynamic threshold)",
                "impact": "Function ChartColorPicker is 114 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 68,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 90,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 68,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 90,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 62,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 70,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 70,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 88,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 49,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3377,
          "ai_signals": [
            "High anti-pattern density (0.96)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 114,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 137,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.06,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.080292,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.43,
        "mechanical": 52.43,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\item-explorer.tsx",
      "language": "tsx",
      "line_count": 109,
      "token_estimate": 1039,
      "functions": [
        {
          "name": "ItemExplorer",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 76,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 76 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 76 lines (> 37 dynamic threshold)",
                "impact": "Function ItemExplorer is 76 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 83,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 84,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1842,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 76,
        "function_length_stddev": 0.0,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 109,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.036697,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.83,
        "mechanical": 75.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\preview-style.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 64,
      "functions": [
        {
          "name": "PreviewStyle",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.83,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\style-picker.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 590,
      "functions": [
        {
          "name": "StylePicker",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function StylePicker is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 56,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 56,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 37,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 40,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 54,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3333,
          "ai_signals": [
            "High anti-pattern density (0.95)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 80,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.075,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 61.25,
        "mechanical": 61.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\hooks\\use-locks.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 333,
      "functions": [
        {
          "name": "LocksProvider",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 28,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 33,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2929,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "useLocks",
          "type": "function_declaration",
          "line_start": 53,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0336,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 17,
        "function_length_stddev": 14.14,
        "import_count": 1,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.33,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.1681,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.82,
        "mechanical": 86.82,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\lib\\merge-theme.ts",
      "language": "typescript",
      "line_count": 33,
      "token_estimate": 220,
      "functions": [
        {
          "name": "buildTheme",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 21,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 22,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 25,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 26,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.121212,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 61.6,
        "mechanical": 61.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\lib\\v0.test.ts",
      "language": "typescript",
      "line_count": 116,
      "token_estimate": 770,
      "functions": [
        {
          "name": "transformIcons",
          "type": "arrow_function",
          "line_start": 17,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 2,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        },
        {
          "name": "transformMenu",
          "type": "arrow_function",
          "line_start": 19,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 2,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        },
        {
          "name": "transformRender",
          "type": "arrow_function",
          "line_start": 21,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 2,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 2,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 0,
        "comment_lines": 0,
        "code_lines": 116,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 1.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\dashboard\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 183,
      "token_estimate": 923,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 173,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 174,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 178,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 164,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 183,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.03,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.027322,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.47,
        "mechanical": 87.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\dashboard\\components\\site-header.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 197,
      "functions": [
        {
          "name": "SiteHeader",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\playground\\components\\preset-selector.tsx",
      "language": "tsx",
      "line_count": 85,
      "token_estimate": 623,
      "functions": [
        {
          "name": "PresetSelector",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 31,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function PresetSelector is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 64,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 67,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 32,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2593,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 54,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 85,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.16,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.047059,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.54,
        "mechanical": 72.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\button-group-demo.tsx",
      "language": "tsx",
      "line_count": 180,
      "token_estimate": 1313,
      "functions": [
        {
          "name": "ButtonGroupDemo",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 179,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 111,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 69,
              "description": "Function is 111 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 111 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupDemo is 111 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 71,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 73,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1261,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 111,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 180,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.62,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.94,
        "mechanical": 76.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\field-slider.tsx",
      "language": "tsx",
      "line_count": 68,
      "token_estimate": 409,
      "functions": [
        {
          "name": "formatNumber",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "FieldSlider",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 1,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 58,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 58,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 38,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 38,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 40,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 17.5,
        "function_length_stddev": 20.51,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 68,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.088235,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.44,
        "mechanical": 74.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\page.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 73,
      "functions": [
        {
          "name": "RtlPage",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.95,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\tasks\\components\\data-table.tsx",
      "language": "tsx",
      "line_count": 132,
      "token_estimate": 919,
      "functions": [
        {
          "name": "DataTable",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 131,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 96,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 36,
              "description": "Function is 96 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 96 lines (> 37 dynamic threshold)",
                "impact": "Function DataTable is 96 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 77,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 128,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 99,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 40,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1823,
          "ai_signals": [
            "High anti-pattern density (0.52)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 96,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 132,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.11,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.037879,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.03,
        "mechanical": 73.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(create)\\components\\icon-placeholder.tsx",
      "language": "tsx",
      "line_count": 4,
      "token_estimate": 23,
      "functions": [
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 4,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(create)\\lib\\search-params.ts",
      "language": "typescript",
      "line_count": 2,
      "token_estimate": 13,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 2,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 4.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\active-theme.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 318,
      "functions": [
        {
          "name": "ActiveThemeProvider",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 1,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 44,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 31,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2685,
          "ai_signals": [
            "High anti-pattern density (0.69)"
          ]
        },
        {
          "name": "useThemeConfig",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0272,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 18,
        "function_length_stddev": 15.56,
        "import_count": 1,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.91,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.035088,
        "structural_uniformity": 0.1358,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.08,
        "mechanical": 86.08,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\activity-goal.tsx",
      "language": "tsx",
      "line_count": 133,
      "token_estimate": 695,
      "functions": [
        {
          "name": "CardsActivityGoal",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 70,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function CardsActivityGoal is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 71,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1111,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 133,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.17,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.015038,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.24,
        "mechanical": 81.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\payment-method.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1153,
      "functions": [
        {
          "name": "CardsPaymentMethod",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 94,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 41,
              "description": "Function is 94 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 94 lines (> 37 dynamic threshold)",
                "impact": "Function CardsPaymentMethod is 94 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0745,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 94,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.31,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014815,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.3,
        "mechanical": 81.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\chart-display.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 386,
      "functions": [
        {
          "name": "ChartDisplay",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 31,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 36,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2414,
          "ai_signals": [
            "High anti-pattern density (0.69)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 4,
        "comment_lines": 1,
        "code_lines": 55,
        "comment_ratio": 0.0179,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.036364,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.21,
        "mechanical": 85.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\color-palette.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 210,
      "functions": [
        {
          "name": "ColorPalette",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 12,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 19,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.54,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.08,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.0,
        "mechanical": 77.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\components-list.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 239,
      "functions": [
        {
          "name": "ComponentsList",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\docs-sidebar.tsx",
      "language": "tsx",
      "line_count": 176,
      "token_estimate": 1566,
      "functions": [
        {
          "name": "DocsSidebar",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 175,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 109,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 67,
              "description": "Function is 109 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 109 lines (> 37 dynamic threshold)",
                "impact": "Function DocsSidebar is 109 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 105,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 151,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0963,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 109,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 176,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.77,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.017045,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.74,
        "mechanical": 80.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\mode-switcher.tsx",
      "language": "tsx",
      "line_count": 98,
      "token_estimate": 726,
      "functions": [
        {
          "name": "ModeSwitcher",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function ModeSwitcher is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 23,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 27,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.3784,
          "ai_signals": [
            "High anti-pattern density (0.62)",
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "DarkModeScript",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 68,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 42,
        "function_length_stddev": 8.49,
        "import_count": 6,
        "export_count": 3,
        "comment_lines": 2,
        "code_lines": 96,
        "comment_ratio": 0.0204,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.11,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.03125,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.59,
        "mechanical": 82.59,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\site-config.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 220,
      "functions": [
        {
          "name": "SiteConfig",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.1,
        "mechanical": 96.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\__index__.tsx",
      "language": "tsx",
      "line_count": 11270,
      "token_estimate": 104011,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 3,
        "code_lines": 11267,
        "comment_ratio": 0.0003,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\alert-action.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 140,
      "functions": [
        {
          "name": "AlertActionExample",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\alert-dialog-media.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 289,
      "functions": [
        {
          "name": "AlertDialogWithMedia",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 20,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.164,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.7,
        "mechanical": 89.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\aspect-ratio-square.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 112,
      "functions": [
        {
          "name": "AspectRatioSquare",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\avatar-group.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 177,
      "functions": [
        {
          "name": "AvatarGroupExample",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 12,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 16,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 21,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.54,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.103448,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.7,
        "mechanical": 71.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\badge-spinner.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 110,
      "functions": [
        {
          "name": "BadgeWithSpinner",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\breadcrumb-separator.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 234,
      "functions": [
        {
          "name": "BreadcrumbSeparatorDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 18,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 24,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2937,
          "ai_signals": [
            "High anti-pattern density (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.82,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.052632,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.34,
        "mechanical": 82.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-group-input.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 111,
      "functions": [
        {
          "name": "ButtonGroupInput",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.61,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-group-split.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 114,
      "functions": [
        {
          "name": "ButtonGroupSplit",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.56,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-size.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 311,
      "functions": [
        {
          "name": "ButtonSize",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\calendar-hijri.tsx",
      "language": "tsx",
      "line_count": 234,
      "token_estimate": 2091,
      "functions": [
        {
          "name": "CalendarHijri",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 196,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 157,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 40,
              "description": "Function is 157 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 157 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 157 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 164,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 170,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 178,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1115,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 198,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 208,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 207,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 208,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2917,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 70,
        "function_length_stddev": 75.94,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 4,
        "code_lines": 230,
        "comment_ratio": 0.0171,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.034783,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.97,
        "mechanical": 72.97,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\card-image.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 264,
      "functions": [
        {
          "name": "CardImage",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 16,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.69,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.027027,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.74,
        "mechanical": 88.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\carousel-rtl.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 437,
      "functions": [
        {
          "name": "toArabicNumerals",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0155,
          "ai_signals": []
        },
        {
          "name": "CarouselRtl",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CarouselRtl is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1076,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 23,
        "function_length_stddev": 21.21,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 80,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.0125,
        "structural_uniformity": 0.0777,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.97,
        "mechanical": 92.97,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\chart-example.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 246,
      "functions": [
        {
          "name": "ChartExample",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.68,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\checkbox-invalid.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 139,
      "functions": [
        {
          "name": "CheckboxInvalid",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.93,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\combobox-auto-highlight.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 181,
      "functions": [
        {
          "name": "ComboboxAutoHighlight",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\combobox-invalid.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 181,
      "functions": [
        {
          "name": "ComboboxInvalid",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\command-rtl.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 701,
      "functions": [
        {
          "name": "CommandRtl",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 73,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function CommandRtl is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 78,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1591,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.27,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017094,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.53,
        "mechanical": 85.53,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\context-menu-icons.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 342,
      "functions": [
        {
          "name": "ContextMenuIcons",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.9,
        "mechanical": 91.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\data-table-rtl.tsx",
      "language": "tsx",
      "line_count": 430,
      "token_estimate": 3068,
      "functions": [
        {
          "name": "DataTableRtl",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 429,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 265,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 165,
              "description": "Function is 265 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 265 lines (> 37 dynamic threshold)",
                "impact": "Function DataTableRtl is 265 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 180,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 192,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 313,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 205,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 315,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 205,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 315,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 315,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 317,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 374,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 173,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1585,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 265,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 430,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.03,
        "debug_artifacts": [],
        "ai_smell_count": 12,
        "ai_smell_density": 0.027907,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.02,
        "mechanical": 68.02,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\date-picker-time.tsx",
      "language": "tsx",
      "line_count": 65,
      "token_estimate": 515,
      "functions": [
        {
          "name": "DatePickerTime",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerTime is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 48,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 65,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.63,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.030769,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.41,
        "mechanical": 78.41,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\drawer-dialog.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 646,
      "functions": [
        {
          "name": "DrawerDialogDemo",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 29,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerDialogDemo is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 30,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2084,
          "ai_signals": []
        },
        {
          "name": "ProfileForm",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0563,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 30.5,
        "function_length_stddev": 21.92,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.16,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021978,
        "structural_uniformity": 0.2813,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.61,
        "mechanical": 85.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dropdown-menu-complex.tsx",
      "language": "tsx",
      "line_count": 290,
      "token_estimate": 2425,
      "functions": [
        {
          "name": "DropdownMenuComplex",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 289,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 239,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 51,
              "description": "Function is 239 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 239 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuComplex is 239 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 52,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 57,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0949,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 239,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 290,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 13.06,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.010345,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.41,
        "mechanical": 82.41,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dropdown-menu-submenu.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 487,
      "functions": [
        {
          "name": "DropdownMenuSubmenu",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuSubmenu is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1485,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 13.66,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017241,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.69,
        "mechanical": 86.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\empty-rtl.tsx",
      "language": "tsx",
      "line_count": 85,
      "token_estimate": 542,
      "functions": [
        {
          "name": "EmptyRtl",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 85,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\field-responsive.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 300,
      "functions": [
        {
          "name": "FieldResponsive",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\hover-card-rtl.tsx",
      "language": "tsx",
      "line_count": 112,
      "token_estimate": 719,
      "functions": [
        {
          "name": "HoverCardRtl",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 111,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 62,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function HoverCardRtl is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.07,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 112,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.06,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008929,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.77,
        "mechanical": 85.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-fieldgroup.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 240,
      "functions": [
        {
          "name": "InputFieldgroup",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.92,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.9,
        "mechanical": 94.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-button.tsx",
      "language": "tsx",
      "line_count": 85,
      "token_estimate": 650,
      "functions": [
        {
          "name": "InputGroupButtonExample",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 61,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 61 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 61 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupButtonExample is 61 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 69,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 26,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1721,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 61,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 85,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.08,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.035294,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.68,
        "mechanical": 73.68,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-kbd.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 137,
      "functions": [
        {
          "name": "InputGroupKbd",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-with-addons.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1028,
      "functions": [
        {
          "name": "InputGroupWithAddons",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 107,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 107 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 107 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithAddons is 107 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0327,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 107,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.88,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007407,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.15,
        "mechanical": 83.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-otp-controlled.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 222,
      "functions": [
        {
          "name": "InputOTPControlled",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 22,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 25,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 26,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 27,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 32,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 34,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 12,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.225,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.8,
        "mechanical": 66.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-otp-separator.tsx",
      "language": "tsx",
      "line_count": 28,
      "token_estimate": 157,
      "functions": [
        {
          "name": "InputOTPWithSeparator",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 12,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 13,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 22,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.351,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.06,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.214286,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.0,
        "mechanical": 72.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\item-icon.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 202,
      "functions": [
        {
          "name": "ItemIcon",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.12,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\kbd-group.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 101,
      "functions": [
        {
          "name": "KbdGroupExample",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.15,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\menubar-icons.tsx",
      "language": "tsx",
      "line_count": 65,
      "token_estimate": 370,
      "functions": [
        {
          "name": "MenubarIcons",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarIcons is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0862,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 65,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.4,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015385,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.95,
        "mechanical": 85.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\native-select-invalid.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 122,
      "functions": [
        {
          "name": "NativeSelectInvalid",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.002,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.12,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\pagination-simple.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 205,
      "functions": [
        {
          "name": "PaginationSimple",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0287,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.72,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\progress-label.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 74,
      "functions": [
        {
          "name": "ProgressWithLabel",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\radio-group-invalid.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 334,
      "functions": [
        {
          "name": "RadioGroupInvalid",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\scroll-area-rtl.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 280,
      "functions": [
        {
          "name": "ScrollAreaRtl",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\separator-demo.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 143,
      "functions": [
        {
          "name": "SeparatorDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sheet-side.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 536,
      "functions": [
        {
          "name": "SheetSide",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function SheetSide is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0745,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.42,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016129,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.87,
        "mechanical": 84.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-menu-action.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 622,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1667,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.78,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.019802,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.45,
        "mechanical": 85.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\skeleton-card.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 113,
      "functions": [
        {
          "name": "SkeletonCard",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\slider-disabled.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 60,
      "functions": [
        {
          "name": "SliderDisabled",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 5,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.2,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.071429,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.84,
        "mechanical": 81.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sonner-types.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 361,
      "functions": [
        {
          "name": "SonnerTypes",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 7,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function SonnerTypes is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0636,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 55,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.6,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016129,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.47,
        "mechanical": 82.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\spinner-size.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 77,
      "functions": [
        {
          "name": "SpinnerSize",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.08,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\table-actions.tsx",
      "language": "tsx",
      "line_count": 107,
      "token_estimate": 890,
      "functions": [
        {
          "name": "TableActions",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 87,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 87 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 87 lines (> 37 dynamic threshold)",
                "impact": "Function TableActions is 87 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0402,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 87,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 107,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009346,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.66,
        "mechanical": 82.66,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\tabs-rtl.tsx",
      "language": "tsx",
      "line_count": 159,
      "token_estimate": 1372,
      "functions": [
        {
          "name": "TabsRtl",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 158,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 101,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function TabsRtl is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0603,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 159,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.17,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006289,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.03,
        "mechanical": 84.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-demo.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 81,
      "functions": [
        {
          "name": "ToggleDemo",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.56,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-group-spacing.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 162,
      "functions": [
        {
          "name": "ToggleGroupSpacing",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\tooltip-keyboard.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 130,
      "functions": [
        {
          "name": "TooltipKeyboard",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-h4.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 41,
      "functions": [
        {
          "name": "TypographyH4",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-small.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 32,
      "functions": [
        {
          "name": "TypographySmall",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\accordion-rtl.tsx",
      "language": "tsx",
      "line_count": 95,
      "token_estimate": 755,
      "functions": [
        {
          "name": "AccordionRtl",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 95,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\alert-dialog-destructive.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 344,
      "functions": [
        {
          "name": "AlertDialogDestructive",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.011,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\aspect-ratio-rtl.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 274,
      "functions": [
        {
          "name": "AspectRatioRtl",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.53,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\avatar-group-count.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 195,
      "functions": [
        {
          "name": "AvatarGroupCountExample",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 13,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 17,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 22,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.11,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.096774,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.21,
        "mechanical": 72.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\badge-rtl.tsx",
      "language": "tsx",
      "line_count": 68,
      "token_estimate": 382,
      "functions": [
        {
          "name": "BadgeRtl",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 68,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\breadcrumb-rtl.tsx",
      "language": "tsx",
      "line_count": 106,
      "token_estimate": 660,
      "functions": [
        {
          "name": "BreadcrumbRtl",
          "type": "function_declaration",
          "line_start": 63,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 63,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function BreadcrumbRtl is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 71,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1628,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 106,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.47,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.018868,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.13,
        "mechanical": 84.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-group-dropdown.tsx",
      "language": "tsx",
      "line_count": 74,
      "token_estimate": 496,
      "functions": [
        {
          "name": "ButtonGroupDropdown",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupDropdown is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0836,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 74,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.73,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013514,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.92,
        "mechanical": 84.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-group-separator.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 109,
      "functions": [
        {
          "name": "ButtonGroupSeparatorDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-secondary.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 39,
      "functions": [
        {
          "name": "ButtonSecondary",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\calendar-demo.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 97,
      "functions": [
        {
          "name": "CalendarDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\card-demo.tsx",
      "language": "tsx",
      "line_count": 64,
      "token_estimate": 459,
      "functions": [
        {
          "name": "CardDemo",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function CardDemo is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.07,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 64,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.11,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015625,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.09,
        "mechanical": 84.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\carousel-plugin.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 293,
      "functions": [
        {
          "name": "CarouselPlugin",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 17,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1167,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.21,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.44,
        "mechanical": 88.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\chart-example-tooltip.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 336,
      "functions": [
        {
          "name": "ChartBarDemoTooltip",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 36,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 44,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.32,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.039216,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.5,
        "mechanical": 87.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\checkbox-group.tsx",
      "language": "tsx",
      "line_count": 75,
      "token_estimate": 545,
      "functions": [
        {
          "name": "CheckboxGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 64,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 64 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 64 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxGroup is 64 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0547,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 64,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 75,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.6,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.67,
        "mechanical": 81.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\collapsible-settings.tsx",
      "language": "tsx",
      "line_count": 75,
      "token_estimate": 602,
      "functions": [
        {
          "name": "CollapsibleSettings",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function CollapsibleSettings is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 23,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1321,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 75,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.35,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.026667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.93,
        "mechanical": 77.93,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\combobox-input-group.tsx",
      "language": "tsx",
      "line_count": 82,
      "token_estimate": 461,
      "functions": [
        {
          "name": "ComboxboxInputGroup",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 82,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\command-groups.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 525,
      "functions": [
        {
          "name": "CommandWithGroups",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 26,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function CommandWithGroups is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 27,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1373,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 51,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.48,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.025974,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.21,
        "mechanical": 81.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\context-menu-groups.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 596,
      "functions": [
        {
          "name": "ContextMenuGroups",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuGroups is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0798,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.56,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012987,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.75,
        "mechanical": 81.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\data-table-demo.tsx",
      "language": "tsx",
      "line_count": 318,
      "token_estimate": 2227,
      "functions": [
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 82,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 83,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 92,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 93,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 105,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 111,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 122,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 126,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 127,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 142,
          "line_end": 169,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DataTableDemo",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 317,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 145,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 173,
              "description": "Function is 145 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 145 lines (> 37 dynamic threshold)",
                "impact": "Function DataTableDemo is 145 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 206,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 206,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 206,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 208,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 262,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 180,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.169,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 24.11,
        "function_length_stddev": 46.07,
        "import_count": 8,
        "export_count": 3,
        "comment_lines": 1,
        "code_lines": 317,
        "comment_ratio": 0.0031,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.05,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.028391,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.56,
        "mechanical": 87.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\date-picker-rtl.tsx",
      "language": "tsx",
      "line_count": 98,
      "token_estimate": 550,
      "functions": [
        {
          "name": "DatePickerRtl",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerRtl is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 61,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 65,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 61,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 65,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 98,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.03,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.05102,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 69.84,
        "mechanical": 69.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\drawer-demo.tsx",
      "language": "tsx",
      "line_count": 136,
      "token_estimate": 798,
      "functions": [
        {
          "name": "DrawerDemo",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 75,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 61,
              "description": "Function is 75 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 75 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerDemo is 75 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 116,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 116,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1867,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 75,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 136,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.029412,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.65,
        "mechanical": 77.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dropdown-menu-checkboxes.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 371,
      "functions": [
        {
          "name": "DropdownMenuCheckboxes",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 16,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3116,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.67,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.057692,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.98,
        "mechanical": 74.98,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dropdown-menu-shortcuts.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 313,
      "functions": [
        {
          "name": "DropdownMenuShortcuts",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0532,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 13.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\empty-outline.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 196,
      "functions": [
        {
          "name": "EmptyOutline",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.47,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\field-radio.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 322,
      "functions": [
        {
          "name": "FieldRadio",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.55,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\hover-card-demo.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 180,
      "functions": [
        {
          "name": "HoverCardDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.93,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-field.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 127,
      "functions": [
        {
          "name": "InputField",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-button-group.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 199,
      "functions": [
        {
          "name": "InputGroupButtonGroup",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-inline-start.tsx",
      "language": "tsx",
      "line_count": 28,
      "token_estimate": 182,
      "functions": [
        {
          "name": "InputGroupInlineStart",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-tooltip.tsx",
      "language": "tsx",
      "line_count": 78,
      "token_estimate": 553,
      "functions": [
        {
          "name": "InputGroupTooltip",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupTooltip is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0556,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 78,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.23,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012821,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.79,
        "mechanical": 81.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-otp-alphanumeric.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 165,
      "functions": [
        {
          "name": "InputOTPAlphanumeric",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 16,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 22,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.97,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.206897,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.9,
        "mechanical": 72.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-otp-rtl.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 315,
      "functions": [
        {
          "name": "InputOTPRtl",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 51,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 52,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.42,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.098361,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.21,
        "mechanical": 71.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\item-header.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 417,
      "functions": [
        {
          "name": "ItemHeaderDemo",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 43,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 43,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.28,
          "ai_signals": [
            "High anti-pattern density (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.11,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.032787,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.3,
        "mechanical": 87.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\kbd-demo.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 100,
      "functions": [
        {
          "name": "KbdDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 4.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\menubar-demo.tsx",
      "language": "tsx",
      "line_count": 137,
      "token_estimate": 1128,
      "functions": [
        {
          "name": "MenubarDemo",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarDemo is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0424,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 137,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.78,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007299,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.18,
        "mechanical": 83.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\native-select-groups.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 339,
      "functions": [
        {
          "name": "NativeSelectGroups",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0108,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\pagination-rtl.tsx",
      "language": "tsx",
      "line_count": 89,
      "token_estimate": 489,
      "functions": [
        {
          "name": "toArabicNumerals",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0177,
          "ai_signals": []
        },
        {
          "name": "PaginationRtl",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0177,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 20.51,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 89,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.12,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0886,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\progress-demo.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 98,
      "functions": [
        {
          "name": "ProgressDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 15,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 8,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 10,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.176471,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.0,
        "mechanical": 75.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\radio-group-fieldset.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 324,
      "functions": [
        {
          "name": "RadioGroupFieldset",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.63,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\scroll-area-horizontal-demo.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 403,
      "functions": [
        {
          "name": "ScrollAreaHorizontalDemo",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 33,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 33,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.25,
          "ai_signals": [
            "High anti-pattern density (0.71)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.89,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.037037,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.34,
        "mechanical": 85.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\select-scrollable.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 695,
      "functions": [
        {
          "name": "SelectScrollable",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function SelectScrollable is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0636,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 55,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.32,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015152,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.71,
        "mechanical": 82.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sheet-rtl.tsx",
      "language": "tsx",
      "line_count": 99,
      "token_estimate": 646,
      "functions": [
        {
          "name": "SheetRtl",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 99,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.72,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.4,
        "mechanical": 89.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-header.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 403,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\skeleton-avatar.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 94,
      "functions": [
        {
          "name": "SkeletonAvatar",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\slider-demo.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 55,
      "functions": [
        {
          "name": "SliderDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 5,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.86,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.076923,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.77,
        "mechanical": 80.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sonner-position.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 336,
      "functions": [
        {
          "name": "SonnerPosition",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 7,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function SonnerPosition is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0648,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 54,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.58,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016393,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.7,
        "mechanical": 82.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\spinner-rtl.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 315,
      "functions": [
        {
          "name": "SpinnerRtl",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\switch-sizes.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 150,
      "functions": [
        {
          "name": "SwitchSizes",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.81,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\tabs-line.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 100,
      "functions": [
        {
          "name": "TabsLine",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.55,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\textarea-rtl.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 322,
      "functions": [
        {
          "name": "TextareaRtl",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-group-sizes.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 312,
      "functions": [
        {
          "name": "ToggleGroupSizes",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\tooltip-disabled.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 134,
      "functions": [
        {
          "name": "TooltipDisabled",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-h3.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 37,
      "functions": [
        {
          "name": "TypographyH3",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-rtl.tsx",
      "language": "tsx",
      "line_count": 220,
      "token_estimate": 2527,
      "functions": [
        {
          "name": "TypographyRtl",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 219,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 139,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function TypographyRtl is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-table-missing-caption",
              "severity": "medium",
              "line": 188,
              "description": "Data table without caption or aria-label - screen reader users cannot understand the table's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0864,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 81,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 220,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.12,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.009091,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.73,
        "mechanical": 82.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\hooks\\use-meta-color.ts",
      "language": "typescript",
      "line_count": 29,
      "token_estimate": 152,
      "functions": [
        {
          "name": "useMetaColor",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 19,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 18,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.22,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.068966,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.76,
        "mechanical": 79.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\colors.ts",
      "language": "typescript",
      "line_count": 97,
      "token_estimate": 597,
      "functions": [
        {
          "name": "getColorFormat",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0487,
          "ai_signals": []
        },
        {
          "name": "getColors",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 38,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function getColors is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1341,
          "ai_signals": []
        },
        {
          "name": "getForegroundFromBackground",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0487,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 22,
        "function_length_stddev": 16.64,
        "import_count": 2,
        "export_count": 5,
        "comment_lines": 0,
        "code_lines": 97,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.29,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010309,
        "structural_uniformity": 0.2435,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.99,
        "mechanical": 92.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\format-code.ts",
      "language": "typescript",
      "line_count": 139,
      "token_estimate": 897,
      "functions": [
        {
          "name": "getStyleFromStyleName",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0444,
          "ai_signals": []
        },
        {
          "name": "buildDisplayConfig",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0444,
          "ai_signals": []
        },
        {
          "name": "getStyleMap",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 1,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 1
          },
          "anti_patterns": [],
          "ai_confidence": 0.0444,
          "ai_signals": []
        },
        {
          "name": "formatCode",
          "type": "function_declaration",
          "line_start": 83,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 2,
            "parameter_count": 2,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 1
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 83,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function formatCode is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 120,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 121,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 122,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 120,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 121,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 122,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 135,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.3944,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 28.25,
        "function_length_stddev": 21.98,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 139,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.53,
        "debug_artifacts": [
          "console.error line 135"
        ],
        "ai_smell_count": 8,
        "ai_smell_density": 0.057554,
        "structural_uniformity": 0.2221,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.14,
        "mechanical": 72.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\themes.ts",
      "language": "typescript",
      "line_count": 6,
      "token_estimate": 55,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\_legacy-styles.ts",
      "language": "typescript",
      "line_count": 26,
      "token_estimate": 124,
      "functions": [
        {
          "name": "getActiveStyle",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "getStyle",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 3.5,
        "function_length_stddev": 0.71,
        "import_count": 0,
        "export_count": 4,
        "comment_lines": 1,
        "code_lines": 25,
        "comment_ratio": 0.0385,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.64,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\dashboard-01\\components\\data-table.tsx",
      "language": "tsx",
      "line_count": 942,
      "token_estimate": 7963,
      "functions": [
        {
          "name": "DragHandle",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 131,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 108,
              "description": "Function is 24 lines (> 22 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 24 lines (> 22 dynamic threshold)",
                "impact": "Function DragHandle is 24 lines \u2014 exceeds 22 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.3458,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 135,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 136,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 136,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.55,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 140,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 142,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4692,
          "ai_signals": [
            "High anti-pattern density (0.77)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 153,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 155,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.55,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 168,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 169,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.55,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 176,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 187,
          "line_end": 209,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 213,
          "line_end": 213,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 214,
          "line_end": 234,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 238,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 239,
          "line_end": 259,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 264,
          "line_end": 298,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 270,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.3,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 302,
          "line_end": 330,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "DraggableRow",
          "type": "function_declaration",
          "line_start": 333,
          "line_end": 355,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "DataTable",
          "type": "function_declaration",
          "line_start": 356,
          "line_end": 700,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 345,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 356,
              "description": "Function is 345 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 345 lines (> 37 dynamic threshold)",
                "impact": "Function DataTable is 345 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 558,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 596,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 380,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 552,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 361,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 362,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 369,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2812,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "TableCellViewer",
          "type": "function_declaration",
          "line_start": 743,
          "line_end": 941,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 199,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 743,
              "description": "Function is 199 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 199 lines (> 37 dynamic threshold)",
                "impact": "Function TableCellViewer is 199 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 771,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 780,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 761,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2704,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 17,
        "avg_function_length": 44.47,
        "function_length_stddev": 90.1,
        "import_count": 23,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 941,
        "comment_ratio": 0.0011,
        "comment_what_ratio": 1.0,
        "naming_avg_length": 7.4,
        "debug_artifacts": [],
        "ai_smell_count": 18,
        "ai_smell_density": 0.019129,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.67,
        "mechanical": 83.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\login-01\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 71,
      "token_estimate": 524,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.066,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 71,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.56,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014085,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.58,
        "mechanical": 83.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\login-05\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 925,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 72,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 72 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 72 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 72 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0486,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 72,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.17,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.13,
        "mechanical": 82.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\cover-art.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 451,
      "functions": [
        {
          "name": "CoverArt",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function CoverArt is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-form-missing-labels",
              "severity": "high",
              "line": 37,
              "description": "Form input without associated label - screen readers cannot identify what the input is for",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.032258,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.94,
        "mechanical": 79.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\kitchen-island.tsx",
      "language": "tsx",
      "line_count": 190,
      "token_estimate": 1584,
      "functions": [
        {
          "name": "KitchenIsland",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 189,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 154,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 36,
              "description": "Function is 154 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 154 lines (> 37 dynamic threshold)",
                "impact": "Function KitchenIsland is 154 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 60,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 102,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 127,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 151,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 47,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 47,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 37,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 38,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 39,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 40,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 41,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 42,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 154,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 190,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.52,
        "debug_artifacts": [],
        "ai_smell_count": 14,
        "ai_smell_density": 0.073684,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.58,
        "mechanical": 66.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\qr-connect.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 244,
      "functions": [
        {
          "name": "QrConnect",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\social-links.tsx",
      "language": "tsx",
      "line_count": 106,
      "token_estimate": 831,
      "functions": [
        {
          "name": "SocialLinks",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function SocialLinks is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0393,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 89,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 106,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.56,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009434,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.64,
        "mechanical": 82.64,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\anomaly-alert.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 201,
      "functions": [
        {
          "name": "AnomalyAlert",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.76,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\environment-variables.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 310,
      "functions": [
        {
          "name": "EnvironmentVariables",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\no-team-members.tsx",
      "language": "tsx",
      "line_count": 64,
      "token_estimate": 450,
      "functions": [
        {
          "name": "NoTeamMembers",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function NoTeamMembers is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 30,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 37,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 44,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 64,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.47,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.0625,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.17,
        "mechanical": 74.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\sleep-report.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 719,
      "functions": [
        {
          "name": "SleepReport",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 47,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function SleepReport is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0603,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.83,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009524,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.22,
        "mechanical": 83.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-01\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 184,
      "token_estimate": 963,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 149,
          "line_end": 183,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 153,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 169,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2,
          "ai_signals": [
            "High anti-pattern density (0.57)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 183,
        "comment_ratio": 0.0054,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.93,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.010929,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.77,
        "mechanical": 89.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-03\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 218,
      "token_estimate": 1233,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 160,
          "line_end": 217,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 160,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 191,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 201,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 195,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2414,
          "ai_signals": [
            "High anti-pattern density (0.69)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 217,
        "comment_ratio": 0.0046,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.03,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.018433,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.99,
        "mechanical": 80.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-06\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 511,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 59,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 59 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 59 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 59 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 63,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 54,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.178,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 59,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.28,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.038961,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.56,
        "mechanical": 75.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-07\\page.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 504,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.84,
        "mechanical": 86.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-09\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 145,
      "token_estimate": 1191,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 120,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 120 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 120 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 120 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 48,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0875,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 120,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 145,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.83,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.02069,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.58,
        "mechanical": 78.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-10\\components\\team-switcher.tsx",
      "language": "tsx",
      "line_count": 103,
      "token_estimate": 801,
      "functions": [
        {
          "name": "TeamSwitcher",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function TeamSwitcher is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 31,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0864,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 81,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 103,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.44,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.019417,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.65,
        "mechanical": 74.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-12\\page.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 348,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 37,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1167,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.36,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.44,
        "mechanical": 88.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-15\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 160,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 25,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1346,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.95,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.028571,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.06,
        "mechanical": 88.06,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-16\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 254,
      "token_estimate": 1479,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 215,
          "line_end": 253,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 215,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 244,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 245,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 246,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 249,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 254,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.51,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.019685,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.38,
        "mechanical": 86.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\signup-01\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 615,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0583,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 60,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.12,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012987,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.75,
        "mechanical": 81.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\signup-05\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 927,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 72,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 72 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 72 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 72 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0486,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 72,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.21,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.13,
        "mechanical": 82.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\aspect-ratio-example.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 591,
      "functions": [
        {
          "name": "AspectRatioExample",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "AspectRatio16x9",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "AspectRatio1x1",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "AspectRatio9x16",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "AspectRatio21x9",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 15.6,
        "function_length_stddev": 3.13,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.72,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7993,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.32,
        "mechanical": 98.32,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\carousel-example.tsx",
      "language": "tsx",
      "line_count": 100,
      "token_estimate": 770,
      "functions": [
        {
          "name": "CarouselExample",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1212,
          "ai_signals": []
        },
        {
          "name": "CarouselBasic",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1212,
          "ai_signals": []
        },
        {
          "name": "CarouselMultiple",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1212,
          "ai_signals": []
        },
        {
          "name": "CarouselWithGap",
          "type": "function_declaration",
          "line_start": 77,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1212,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 20.75,
        "function_length_stddev": 8.18,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 100,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6058,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.78,
        "mechanical": 96.78,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\demo.tsx",
      "language": "tsx",
      "line_count": 415,
      "token_estimate": 4268,
      "functions": [
        {
          "name": "Demo",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 414,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 356,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 356 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 356 lines (> 37 dynamic threshold)",
                "impact": "Function Demo is 356 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 295,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 107,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 107,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 61,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0492,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 356,
        "function_length_stddev": 0.0,
        "import_count": 16,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 415,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.57,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.012048,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.99,
        "mechanical": 81.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\input-group-example.tsx",
      "language": "tsx",
      "line_count": 912,
      "token_estimate": 7804,
      "functions": [
        {
          "name": "InputGroupExample",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 1,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 63,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4278,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputGroupBasic",
          "type": "function_declaration",
          "line_start": 78,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 78,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupBasic is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1653,
          "ai_signals": []
        },
        {
          "name": "InputGroupWithAddons",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 293,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 175,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 175 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 175 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithAddons is 175 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0978,
          "ai_signals": []
        },
        {
          "name": "InputGroupWithButtons",
          "type": "function_declaration",
          "line_start": 295,
          "line_end": 357,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 295,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithButtons is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1333,
          "ai_signals": []
        },
        {
          "name": "InputGroupWithTooltip",
          "type": "function_declaration",
          "line_start": 359,
          "line_end": 511,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 359,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithTooltip is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1006,
          "ai_signals": []
        },
        {
          "name": "InputGroupWithKbd",
          "type": "function_declaration",
          "line_start": 513,
          "line_end": 670,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 158,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 513,
              "description": "Function is 158 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 158 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithKbd is 158 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0999,
          "ai_signals": []
        },
        {
          "name": "InputGroupInCard",
          "type": "function_declaration",
          "line_start": 672,
          "line_end": 743,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 72,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 672,
              "description": "Function is 72 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 72 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupInCard is 72 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1264,
          "ai_signals": []
        },
        {
          "name": "InputGroupTextareaExamples",
          "type": "function_declaration",
          "line_start": 745,
          "line_end": 911,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 167,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 745,
              "description": "Function is 167 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 167 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupTextareaExamples is 167 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 869,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1197,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 105.38,
        "function_length_stddev": 64.4,
        "import_count": 16,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 912,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.59,
        "debug_artifacts": [
          "console.log line 869"
        ],
        "ai_smell_count": 10,
        "ai_smell_density": 0.010965,
        "structural_uniformity": 0.3888,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.26,
        "mechanical": 80.26,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\pagination-example.tsx",
      "language": "tsx",
      "line_count": 129,
      "token_estimate": 877,
      "functions": [
        {
          "name": "PaginationExample",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1116,
          "ai_signals": []
        },
        {
          "name": "PaginationBasic",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1116,
          "ai_signals": []
        },
        {
          "name": "PaginationSimple",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1116,
          "ai_signals": []
        },
        {
          "name": "PaginationIconsOnly",
          "type": "function_declaration",
          "line_start": 95,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1116,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 25,
        "function_length_stddev": 11.05,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 129,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5582,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\sheet-example.tsx",
      "language": "tsx",
      "line_count": 139,
      "token_estimate": 1191,
      "functions": [
        {
          "name": "SheetExample",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0708,
          "ai_signals": []
        },
        {
          "name": "SheetWithForm",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0708,
          "ai_signals": []
        },
        {
          "name": "SheetNoCloseButton",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0708,
          "ai_signals": []
        },
        {
          "name": "SheetWithSides",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 52,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 87,
              "description": "Function is 52 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 52 lines (> 37 dynamic threshold)",
                "impact": "Function SheetWithSides is 52 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1381,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 28.75,
        "function_length_stddev": 18.57,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 139,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.68,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007194,
        "structural_uniformity": 0.354,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.58,
        "mechanical": 92.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\spinner-example.tsx",
      "language": "tsx",
      "line_count": 151,
      "token_estimate": 1019,
      "functions": [
        {
          "name": "SpinnerExample",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0867,
          "ai_signals": []
        },
        {
          "name": "SpinnerBasic",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0867,
          "ai_signals": []
        },
        {
          "name": "SpinnerInButtons",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0867,
          "ai_signals": []
        },
        {
          "name": "SpinnerInBadges",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0867,
          "ai_signals": []
        },
        {
          "name": "SpinnerInInputGroup",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0867,
          "ai_signals": []
        },
        {
          "name": "SpinnerInEmpty",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 110,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function SpinnerInEmpty is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1721,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 20.33,
        "function_length_stddev": 11.52,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 151,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.95,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006623,
        "structural_uniformity": 0.4335,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.25,
        "mechanical": 95.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\hooks\\_registry.ts",
      "language": "typescript",
      "line_count": 15,
      "token_estimate": 64,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 696,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0587,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0587,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function AccordionTrigger is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1508,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0587,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 19.5,
        "function_length_stddev": 13.77,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.73,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010989,
        "structural_uniformity": 0.2937,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.4,
        "mechanical": 94.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 388,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.43,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 205,
      "token_estimate": 1184,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1102,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1102,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1102,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 99,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1102,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1102,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1102,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1102,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 179,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1102,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 181,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1102,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 18.33,
        "function_length_stddev": 8.23,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 205,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.84,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.551,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.5,
        "mechanical": 97.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 358,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.67,
        "function_length_stddev": 16.77,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.9,
        "mechanical": 98.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 401,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0076,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0076,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0076,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 16,
        "function_length_stddev": 15.39,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0378,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 221,
      "token_estimate": 1483,
      "functions": [
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0862,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0862,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1892,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 66,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function SelectContent is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1716,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0862,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0862,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 165,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0862,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 167,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0862,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 207,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0862,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 21,
        "function_length_stddev": 11.95,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 221,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.01,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.00905,
        "structural_uniformity": 0.4311,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.44,
        "mechanical": 94.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 210,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\dashboard-01\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 285,
      "token_estimate": 1636,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 249,
          "line_end": 284,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 275,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 276,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 277,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 280,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 285,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.23,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.014035,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.69,
        "mechanical": 88.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\dashboard-01\\components\\site-header.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 191,
      "functions": [
        {
          "name": "SiteHeader",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import { Button } from \"@/registry/bases/radix/ui/button\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Button' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Button } from \"@/registry/bases/radix/ui/button\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\login-04\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 106,
      "token_estimate": 1514,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 93,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 93 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 93 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 93 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 91,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0753,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 93,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 106,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.91,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.018868,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.28,
        "mechanical": 80.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\claimable-balance.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 521,
      "functions": [
        {
          "name": "ClaimableBalance",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function ClaimableBalance is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0745,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.39,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.73,
        "mechanical": 84.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\front-door.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 321,
      "functions": [
        {
          "name": "FrontDoor",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\power-usage.tsx",
      "language": "tsx",
      "line_count": 97,
      "token_estimate": 692,
      "functions": [
        {
          "name": "PowerUsage",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 40,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function PowerUsage is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 60,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 90,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1842,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 97,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.25,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.030928,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.17,
        "mechanical": 78.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\savings-targets.tsx",
      "language": "tsx",
      "line_count": 155,
      "token_estimate": 1339,
      "functions": [
        {
          "name": "SavingsTargets",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 36,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function SavingsTargets is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 59,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 78,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0882,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 155,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.019355,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.16,
        "mechanical": 80.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\activate-agent-dialog.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 752,
      "functions": [
        {
          "name": "ActivateAgentDialog",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 57,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function ActivateAgentDialog is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0745,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 103,
        "comment_ratio": 0.0096,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.04,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009709,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.47,
        "mechanical": 86.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\contributions-activity.tsx",
      "language": "tsx",
      "line_count": 64,
      "token_estimate": 463,
      "functions": [
        {
          "name": "ContributionsActivity",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ContributionsActivity is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0854,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 64,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.98,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015625,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.79,
        "mechanical": 86.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\invoice.tsx",
      "language": "tsx",
      "line_count": 116,
      "token_estimate": 832,
      "functions": [
        {
          "name": "formatCurrency",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Invoice",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 71,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 71 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 71 lines (> 37 dynamic threshold)",
                "impact": "Function Invoice is 71 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0493,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 14,
              "description": "Unused import: import {\n  Table,\n  TableBody,\n  TableCell,\n  TableFooter,\n  TableHead,\n  TableHeader,\n  TableRow,\n} from \"@/registry/bases/radix/ui/table\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'TableFooter' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Table,\n  TableBody,\n  TableCell,\n  TableFooter,\n  TableHead,\n  TableHeader,\n  TableRow,\n} from \"@/registry/bases/radix/ui/table\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 39,
        "function_length_stddev": 45.25,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 116,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008621,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.14,
        "mechanical": 89.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\shortcuts.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 411,
      "functions": [
        {
          "name": "Shortcuts",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\weekly-fitness-summary.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 408,
      "functions": [
        {
          "name": "WeeklyFitnessSummary",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 44,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 44,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2,
          "ai_signals": [
            "High anti-pattern density (0.57)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.17,
        "mechanical": 84.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-02\\components\\version-switcher.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 699,
      "functions": [
        {
          "name": "VersionSwitcher",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 70,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 70 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 70 lines (> 37 dynamic threshold)",
                "impact": "Function VersionSwitcher is 70 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 25,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 70,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.8,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.022727,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.32,
        "mechanical": 79.32,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-05\\page.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 447,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.53,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-07\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 144,
      "token_estimate": 1207,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 72,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0882,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 144,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.79,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.54,
        "mechanical": 78.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-08\\page.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 481,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.4,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.84,
        "mechanical": 86.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-10\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 252,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 32,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.34,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.14,
        "mechanical": 88.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-12\\components\\date-picker.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 169,
      "functions": [
        {
          "name": "DatePicker",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.95,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-15\\components\\date-picker.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 169,
      "functions": [
        {
          "name": "DatePicker",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.95,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-15\\components\\team-switcher.tsx",
      "language": "tsx",
      "line_count": 98,
      "token_estimate": 752,
      "functions": [
        {
          "name": "TeamSwitcher",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function TeamSwitcher is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 30,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0909,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 77,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 98,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.27,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.020408,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.4,
        "mechanical": 74.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-16\\components\\site-header.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 455,
      "functions": [
        {
          "name": "SiteHeader",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function SiteHeader is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0875,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.14,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017544,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.61,
        "mechanical": 86.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\signup-04\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 1632,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 102,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 102 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 102 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 102 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 100,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0686,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 102,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.05,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017391,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.65,
        "mechanical": 80.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\alert-dialog-example.tsx",
      "language": "tsx",
      "line_count": 232,
      "token_estimate": 1944,
      "functions": [
        {
          "name": "AlertDialogExample",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1395,
          "ai_signals": []
        },
        {
          "name": "AlertDialogBasic",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1395,
          "ai_signals": []
        },
        {
          "name": "AlertDialogSmall",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1395,
          "ai_signals": []
        },
        {
          "name": "AlertDialogWithMedia",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1395,
          "ai_signals": []
        },
        {
          "name": "AlertDialogSmallWithMedia",
          "type": "function_declaration",
          "line_start": 125,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1395,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDestructive",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1395,
          "ai_signals": []
        },
        {
          "name": "AlertDialogInDialog",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 231,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 193,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function AlertDialogInDialog is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2292,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 28.14,
        "function_length_stddev": 9.08,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 232,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.24,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.00431,
        "structural_uniformity": 0.6773,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.48,
        "mechanical": 93.48,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\calendar-example.tsx",
      "language": "tsx",
      "line_count": 537,
      "token_estimate": 3964,
      "functions": [
        {
          "name": "CalendarExample",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0971,
          "ai_signals": []
        },
        {
          "name": "CalendarInCard",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0971,
          "ai_signals": []
        },
        {
          "name": "CalendarInPopover",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0971,
          "ai_signals": []
        },
        {
          "name": "CalendarSingle",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0971,
          "ai_signals": []
        },
        {
          "name": "CalendarMultiple",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0971,
          "ai_signals": []
        },
        {
          "name": "CalendarRange",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 134,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2178,
          "ai_signals": []
        },
        {
          "name": "CalendarRangeMultipleMonths",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 175,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 164,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2221,
          "ai_signals": []
        },
        {
          "name": "CalendarBookedDates",
          "type": "function_declaration",
          "line_start": 177,
          "line_end": 207,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0971,
          "ai_signals": []
        },
        {
          "name": "CalendarWithTime",
          "type": "function_declaration",
          "line_start": 209,
          "line_end": 276,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 209,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarWithTime is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1486,
          "ai_signals": []
        },
        {
          "name": "CalendarCustomDays",
          "type": "function_declaration",
          "line_start": 278,
          "line_end": 321,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 278,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarCustomDays is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 290,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2562,
          "ai_signals": []
        },
        {
          "name": "CalendarWithPresets",
          "type": "function_declaration",
          "line_start": 323,
          "line_end": 373,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 323,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarWithPresets is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1657,
          "ai_signals": []
        },
        {
          "name": "DatePickerSimple",
          "type": "function_declaration",
          "line_start": 375,
          "line_end": 407,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0971,
          "ai_signals": []
        },
        {
          "name": "DatePickerWithRange",
          "type": "function_declaration",
          "line_start": 409,
          "line_end": 461,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 409,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerWithRange is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 436,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 434,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 451,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3613,
          "ai_signals": [
            "High anti-pattern density (0.75)"
          ]
        },
        {
          "name": "DataPickerWithDropdowns",
          "type": "function_declaration",
          "line_start": 463,
          "line_end": 514,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 52,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 463,
              "description": "Function is 52 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 52 lines (> 37 dynamic threshold)",
                "impact": "Function DataPickerWithDropdowns is 52 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 465,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2317,
          "ai_signals": []
        },
        {
          "name": "CalendarWeekNumbers",
          "type": "function_declaration",
          "line_start": 516,
          "line_end": 536,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0971,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 33,
        "function_length_stddev": 16.97,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 537,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.35,
        "debug_artifacts": [],
        "ai_smell_count": 12,
        "ai_smell_density": 0.022346,
        "structural_uniformity": 0.4856,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.85,
        "mechanical": 86.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\component-example.tsx",
      "language": "tsx",
      "line_count": 658,
      "token_estimate": 6699,
      "functions": [
        {
          "name": "ComponentExample",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0027,
          "ai_signals": []
        },
        {
          "name": "CardExample",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 79,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function CardExample is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 84,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "FormExample",
          "type": "function_declaration",
          "line_start": 153,
          "line_end": 657,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 505,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 153,
              "description": "Function is 505 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 505 lines (> 37 dynamic threshold)",
                "impact": "Function FormExample is 505 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 154,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 159,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0235,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 192.67,
        "function_length_stddev": 271.99,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 658,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.16,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.007599,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.1,
        "mechanical": 83.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\hover-card-example.tsx",
      "language": "tsx",
      "line_count": 92,
      "token_estimate": 705,
      "functions": [
        {
          "name": "HoverCardExample",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0796,
          "ai_signals": []
        },
        {
          "name": "HoverCardSides",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0796,
          "ai_signals": []
        },
        {
          "name": "HoverCardInDialog",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0796,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 22.67,
        "function_length_stddev": 13.65,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 92,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3978,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.2,
        "mechanical": 96.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\native-select-example.tsx",
      "language": "tsx",
      "line_count": 130,
      "token_estimate": 1123,
      "functions": [
        {
          "name": "NativeSelectExample",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        },
        {
          "name": "NativeSelectBasic",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        },
        {
          "name": "NativeSelectWithGroups",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        },
        {
          "name": "NativeSelectSizes",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        },
        {
          "name": "NativeSelectWithField",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        },
        {
          "name": "NativeSelectDisabled",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        },
        {
          "name": "NativeSelectInvalid",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.78)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 15.43,
        "function_length_stddev": 3.46,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 130,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7759,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.37,
        "mechanical": 98.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\select-example.tsx",
      "language": "tsx",
      "line_count": 555,
      "token_estimate": 4173,
      "functions": [
        {
          "name": "SelectExample",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0534,
          "ai_signals": []
        },
        {
          "name": "SelectBasic",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0534,
          "ai_signals": []
        },
        {
          "name": "SelectWithIcons",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 201,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 112,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 90,
              "description": "Function is 112 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 112 lines (> 37 dynamic threshold)",
                "impact": "Function SelectWithIcons is 112 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 96,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 148,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 98,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 150,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2096,
          "ai_signals": []
        },
        {
          "name": "SelectWithGroups",
          "type": "function_declaration",
          "line_start": 203,
          "line_end": 228,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0534,
          "ai_signals": []
        },
        {
          "name": "SelectLargeList",
          "type": "function_declaration",
          "line_start": 230,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0534,
          "ai_signals": []
        },
        {
          "name": "SelectSizes",
          "type": "function_declaration",
          "line_start": 251,
          "line_end": 282,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0534,
          "ai_signals": []
        },
        {
          "name": "SelectWithButton",
          "type": "function_declaration",
          "line_start": 284,
          "line_end": 323,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 284,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function SelectWithButton is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1409,
          "ai_signals": []
        },
        {
          "name": "SelectItemAligned",
          "type": "function_declaration",
          "line_start": 325,
          "line_end": 346,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0534,
          "ai_signals": []
        },
        {
          "name": "SelectWithField",
          "type": "function_declaration",
          "line_start": 348,
          "line_end": 373,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0534,
          "ai_signals": []
        },
        {
          "name": "SelectInvalid",
          "type": "function_declaration",
          "line_start": 375,
          "line_end": 414,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 375,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function SelectInvalid is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 409,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2284,
          "ai_signals": []
        },
        {
          "name": "SelectInline",
          "type": "function_declaration",
          "line_start": 416,
          "line_end": 442,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0534,
          "ai_signals": []
        },
        {
          "name": "SelectDisabled",
          "type": "function_declaration",
          "line_start": 444,
          "line_end": 465,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0534,
          "ai_signals": []
        },
        {
          "name": "SelectPlan",
          "type": "function_declaration",
          "line_start": 482,
          "line_end": 507,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 492,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 499,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3226,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        },
        {
          "name": "SelectPlanItem",
          "type": "function_declaration",
          "line_start": 509,
          "line_end": 520,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0534,
          "ai_signals": []
        },
        {
          "name": "SelectInDialog",
          "type": "function_declaration",
          "line_start": 522,
          "line_end": 554,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0534,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 31.93,
        "function_length_stddev": 23.41,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 555,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.26,
        "debug_artifacts": [],
        "ai_smell_count": 10,
        "ai_smell_density": 0.018018,
        "structural_uniformity": 0.2668,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.75,
        "mechanical": 88.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\slider-example.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 555,
      "functions": [
        {
          "name": "SliderExample",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0768,
          "ai_signals": []
        },
        {
          "name": "SliderBasic",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 28,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4268,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "SliderRange",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 36,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4268,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "SliderMultiple",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 44,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4268,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "SliderVertical",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 60,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.395,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "SliderControlled",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 73,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2227,
          "ai_signals": []
        },
        {
          "name": "SliderDisabled",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 100,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4268,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 12.29,
        "function_length_stddev": 7.57,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.067308,
        "structural_uniformity": 0.3842,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.49,
        "mechanical": 82.49,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\toggle-group-example.tsx",
      "language": "tsx",
      "line_count": 576,
      "token_estimate": 4295,
      "functions": [
        {
          "name": "ToggleGroupExample",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupBasic",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupOutline",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupOutlineWithIcons",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupSizes",
          "type": "function_declaration",
          "line_start": 138,
          "line_end": 178,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 138,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleGroupSizes is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2127,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupSpacing",
          "type": "function_declaration",
          "line_start": 180,
          "line_end": 205,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupWithIcons",
          "type": "function_declaration",
          "line_start": 207,
          "line_end": 259,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 207,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleGroupWithIcons is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1933,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupFilter",
          "type": "function_declaration",
          "line_start": 261,
          "line_end": 280,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupDateRange",
          "type": "function_declaration",
          "line_start": 282,
          "line_end": 307,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupSort",
          "type": "function_declaration",
          "line_start": 309,
          "line_end": 354,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 309,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleGroupSort is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2034,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupWithInputAndSelect",
          "type": "function_declaration",
          "line_start": 356,
          "line_end": 384,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupVertical",
          "type": "function_declaration",
          "line_start": 386,
          "line_end": 420,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupVerticalOutline",
          "type": "function_declaration",
          "line_start": 422,
          "line_end": 447,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupVerticalOutlineWithIcons",
          "type": "function_declaration",
          "line_start": 449,
          "line_end": 488,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 449,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleGroupVerticalOutlineWithIcons is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2148,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupFontWeightSelector",
          "type": "function_declaration",
          "line_start": 490,
          "line_end": 547,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 490,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleGroupFontWeightSelector is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 491,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.248,
          "ai_signals": []
        },
        {
          "name": "ToggleGroupVerticalWithSpacing",
          "type": "function_declaration",
          "line_start": 549,
          "line_end": 575,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1273,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 33.25,
        "function_length_stddev": 12.09,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 576,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.95,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.010417,
        "structural_uniformity": 0.6365,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.42,
        "mechanical": 90.42,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\registry.ts",
      "language": "typescript",
      "line_count": 58,
      "token_estimate": 342,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 57,
        "comment_ratio": 0.0172,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 723,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.109,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.109,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.109,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.109,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.109,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.109,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 99,
          "line_end": 124,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.109,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 16,
        "function_length_stddev": 7.28,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.68,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.545,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.49,
        "mechanical": 97.49,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 198,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 8.33,
        "function_length_stddev": 2.89,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6536,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 576,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 133,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.13,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 433,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.57,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 86,
      "token_estimate": 570,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 8,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 76,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 76 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 76 lines (> 37 dynamic threshold)",
                "impact": "Function Toaster is 76 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 12,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 13,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 68,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 13,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 68,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2763,
          "ai_signals": [
            "High anti-pattern density (0.79)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 76,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 86,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.88,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.069767,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.56,
        "mechanical": 67.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 384,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 11.25,
        "function_length_stddev": 8.5,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.31,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2444,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.62,
        "mechanical": 99.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\dashboard-01\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 182,
      "token_estimate": 916,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 153,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 172,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 173,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 174,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 177,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 182,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.021978,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.81,
        "mechanical": 88.81,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\dashboard-01\\components\\site-header.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 304,
      "functions": [
        {
          "name": "SiteHeader",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\login-04\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 106,
      "token_estimate": 1514,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 93,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 93 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 93 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 93 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 91,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0753,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 93,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 106,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.91,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.018868,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.28,
        "mechanical": 80.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-02\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 216,
      "token_estimate": 1224,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 166,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 170,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 201,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.21,
          "ai_signals": [
            "High anti-pattern density (0.60)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 215,
        "comment_ratio": 0.0046,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.22,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.013953,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.51,
        "mechanical": 84.51,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-05\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 229,
      "token_estimate": 1364,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 228,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 64,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 165,
              "description": "Function is 64 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 64 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 64 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 212,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 203,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1641,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 64,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 228,
        "comment_ratio": 0.0044,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.013158,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.71,
        "mechanical": 81.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-07\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 74,
      "token_estimate": 497,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 59,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 56,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1981,
          "ai_signals": [
            "High anti-pattern density (0.57)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 74,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.83,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.040541,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.96,
        "mechanical": 76.96,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-08\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 231,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 29,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1207,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.42,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.2,
        "mechanical": 88.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-10\\components\\nav-favorites.tsx",
      "language": "tsx",
      "line_count": 95,
      "token_estimate": 683,
      "functions": [
        {
          "name": "NavFavorites",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 67,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 67 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 67 lines (> 37 dynamic threshold)",
                "impact": "Function NavFavorites is 67 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 46,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1045,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 67,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 95,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.84,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021053,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.74,
        "mechanical": 79.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-12\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 420,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 51,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.28,
          "ai_signals": [
            "High anti-pattern density (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 66,
        "comment_ratio": 0.0149,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.83,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.030303,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.92,
        "mechanical": 87.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-14\\page.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 404,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.56,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-15\\components\\sidebar-left.tsx",
      "language": "tsx",
      "line_count": 279,
      "token_estimate": 1396,
      "functions": [
        {
          "name": "SidebarLeft",
          "type": "function_declaration",
          "line_start": 261,
          "line_end": 278,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 267,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 268,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 271,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 272,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 273,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 278,
        "comment_ratio": 0.0036,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.18,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.017986,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-16\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 858,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.128,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 82,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.1,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.026087,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.23,
        "mechanical": 77.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\signup-03\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 664,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0556,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.8,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012346,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.91,
        "mechanical": 81.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-area-default.tsx",
      "language": "tsx",
      "line_count": 95,
      "token_estimate": 617,
      "functions": [
        {
          "name": "ChartAreaDefault",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaDefault is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1875,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 56,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 95,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.031579,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.31,
        "mechanical": 78.31,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-area-step.tsx",
      "language": "tsx",
      "line_count": 96,
      "token_estimate": 623,
      "functions": [
        {
          "name": "ChartAreaStep",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 40,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaStep is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 59,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 67,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1875,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 56,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 96,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.99,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.03125,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.39,
        "mechanical": 78.39,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-bar-multiple.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 568,
      "functions": [
        {
          "name": "ChartBarMultiple",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function ChartBarMultiple is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 61,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2763,
          "ai_signals": [
            "High anti-pattern density (0.79)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.11,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.037037,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.34,
        "mechanical": 82.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-line-label-custom.tsx",
      "language": "tsx",
      "line_count": 124,
      "token_estimate": 799,
      "functions": [
        {
          "name": "ChartLineLabelCustom",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 66,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 58,
              "description": "Function is 66 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 66 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLineLabelCustom is 66 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 76,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 77,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 106,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 106,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 106,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 66,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 124,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.93,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.048387,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.9,
        "mechanical": 72.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-pie-interactive.tsx",
      "language": "tsx",
      "line_count": 203,
      "token_estimate": 1429,
      "functions": [
        {
          "name": "ChartPieInteractive",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 129,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 74,
              "description": "Function is 129 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 129 lines (> 37 dynamic threshold)",
                "impact": "Function ChartPieInteractive is 129 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 106,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 155,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 167,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 89,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 90,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 99,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 121,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 121,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 140,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 76,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 84,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.3256,
          "ai_signals": [
            "High anti-pattern density (0.93)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 5,
              "description": "Unused import: import type {\n  PieSectorDataItem,\n  PieSectorShapeProps,\n} from \"recharts/types/polar/Pie\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'PieSectorDataItem' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import type {\n  PieSectorDataItem,\n  PieSectorShapeProps,\n} from \"recharts/types/polar/Pie\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 129,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 203,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.13,
        "debug_artifacts": [],
        "ai_smell_count": 12,
        "ai_smell_density": 0.059113,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 70.22,
        "mechanical": 70.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-default.tsx",
      "language": "tsx",
      "line_count": 76,
      "token_estimate": 505,
      "functions": [
        {
          "name": "ChartRadarDefault",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0946,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 76,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013158,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.61,
        "mechanical": 88.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-icons.tsx",
      "language": "tsx",
      "line_count": 97,
      "token_estimate": 664,
      "functions": [
        {
          "name": "ChartRadarIcons",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 47,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarIcons is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 97,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.3,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.020619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.85,
        "mechanical": 82.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radial-shape.tsx",
      "language": "tsx",
      "line_count": 112,
      "token_estimate": 807,
      "functions": [
        {
          "name": "ChartRadialShape",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 111,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 71,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 41,
              "description": "Function is 71 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 71 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadialShape is 71 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 68,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0986,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 71,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 112,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.54,
        "mechanical": 80.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-tooltip-indicator-line.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 587,
      "functions": [
        {
          "name": "ChartTooltipIndicatorLine",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 44,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipIndicatorLine is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 77,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1591,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 4,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.55,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.022727,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.12,
        "mechanical": 84.12,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\alert-destructive.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 105,
      "functions": [
        {
          "name": "AlertDestructive",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\breadcrumb-demo.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 403,
      "functions": [
        {
          "name": "BreadcrumbDemo",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 25,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 45,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2022,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.78,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.035714,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.97,
        "mechanical": 82.97,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-demo.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 97,
      "functions": [
        {
          "name": "ButtonDemo",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.76,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-group-orientation.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 135,
      "functions": [
        {
          "name": "ButtonGroupOrientation",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-loading.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 68,
      "functions": [
        {
          "name": "ButtonLoading",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.71,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\card-demo.tsx",
      "language": "tsx",
      "line_count": 64,
      "token_estimate": 462,
      "functions": [
        {
          "name": "CardDemo",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function CardDemo is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.07,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 64,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.2,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015625,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.09,
        "mechanical": 84.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\chart-bar-demo-axis.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 312,
      "functions": [
        {
          "name": "Component",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 34,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1944,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.39,
        "mechanical": 92.39,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\checkbox-with-text.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 159,
      "functions": [
        {
          "name": "CheckboxWithText",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\context-menu-demo.tsx",
      "language": "tsx",
      "line_count": 65,
      "token_estimate": 571,
      "functions": [
        {
          "name": "ContextMenuDemo",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuDemo is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1069,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 48,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 65,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 12.04,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015385,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.75,
        "mechanical": 84.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\drawer-dialog.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 654,
      "functions": [
        {
          "name": "DrawerDialogDemo",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 29,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerDialogDemo is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 30,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2084,
          "ai_signals": []
        },
        {
          "name": "ProfileForm",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0563,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 30.5,
        "function_length_stddev": 21.92,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.29,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021978,
        "structural_uniformity": 0.2813,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.61,
        "mechanical": 85.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\empty-demo.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 282,
      "functions": [
        {
          "name": "EmptyDemo",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\field-group.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 448,
      "functions": [
        {
          "name": "FieldGroupExample",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function FieldGroupExample is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0778,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.46,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.04,
        "mechanical": 85.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-next-complex-action.ts",
      "language": "typescript",
      "line_count": 38,
      "token_estimate": 212,
      "functions": [
        {
          "name": "complexFormAction",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 13,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 14,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 15,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 13,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 14,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 15,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4167,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 3,
        "code_lines": 35,
        "comment_ratio": 0.0789,
        "comment_what_ratio": 0.3333,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.171429,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 62.6,
        "mechanical": 62.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-rhf-complex.tsx",
      "language": "tsx",
      "line_count": 308,
      "token_estimate": 2626,
      "functions": [
        {
          "name": "FormRhfComplex",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 307,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 219,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 89,
              "description": "Function is 219 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 219 lines (> 37 dynamic threshold)",
                "impact": "Function FormRhfComplex is 219 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 174,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 208,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 230,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 257,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 287,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 111,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 111,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1279,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 219,
        "function_length_stddev": 0.0,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 308,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.025974,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.51,
        "mechanical": 78.51,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-tanstack-array.tsx",
      "language": "tsx",
      "line_count": 180,
      "token_estimate": 1573,
      "functions": [
        {
          "name": "FormTanstackArray",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 179,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 134,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 46,
              "description": "Function is 134 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 134 lines (> 37 dynamic threshold)",
                "impact": "Function FormTanstackArray is 134 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 98,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 112,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 140,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 160,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 65,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 65,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1828,
          "ai_signals": [
            "High anti-pattern density (0.52)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 134,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 179,
        "comment_ratio": 0.0056,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.79,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.039106,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.22,
        "mechanical": 75.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-tanstack-textarea.tsx",
      "language": "tsx",
      "line_count": 123,
      "token_estimate": 899,
      "functions": [
        {
          "name": "FormTanstackTextarea",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 90,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 90 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 90 lines (> 37 dynamic threshold)",
                "impact": "Function FormTanstackTextarea is 90 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 101,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 52,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 52,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1556,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 90,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 122,
        "comment_ratio": 0.0081,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.032787,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.8,
        "mechanical": 76.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-group-demo.tsx",
      "language": "tsx",
      "line_count": 99,
      "token_estimate": 806,
      "functions": [
        {
          "name": "InputGroupDemo",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 74,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 74 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 74 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupDemo is 74 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0473,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 74,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 99,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.03,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010101,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.47,
        "mechanical": 82.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-otp-controlled.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 223,
      "functions": [
        {
          "name": "InputOTPControlled",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 22,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 25,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 26,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 27,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 32,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 34,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 12,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.225,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.8,
        "mechanical": 66.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\item-demo.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 291,
      "functions": [
        {
          "name": "ItemDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.28,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\item-variant.tsx",
      "language": "tsx",
      "line_count": 55,
      "token_estimate": 363,
      "functions": [
        {
          "name": "ItemVariant",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function ItemVariant is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0778,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 55,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.44,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.018182,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.95,
        "mechanical": 84.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\mode-toggle.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 316,
      "functions": [
        {
          "name": "ModeToggle",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.74,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\progress-demo.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 98,
      "functions": [
        {
          "name": "ProgressDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 15,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 8,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 10,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.42,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.176471,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.0,
        "mechanical": 75.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\select-demo.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 204,
      "functions": [
        {
          "name": "SelectDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\sonner-demo.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 121,
      "functions": [
        {
          "name": "SonnerDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "console-log-production",
              "severity": "low",
              "line": 16,
              "description": "console.log left in production code",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "ast-grep-pattern",
                "proof": "console.log left in production code",
                "impact": "Debug logging at line 16 pollutes production output and may leak sensitive data",
                "recommendation": "Remove the console statement or replace with a structured logger",
                "confidence": 1.0,
                "fix_type": "deterministic",
                "references": [
                  "https://eslint.org/docs/latest/rules/no-console"
                ]
              }
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 16,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.84,
        "debug_artifacts": [
          "console.log line 16"
        ],
        "ai_smell_count": 2,
        "ai_smell_density": 0.08,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.6,
        "mechanical": 75.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\spinner-empty.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 198,
      "functions": [
        {
          "name": "SpinnerEmpty",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\textarea-disabled.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 44,
      "functions": [
        {
          "name": "TextareaDisabled",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\toggle-group-lg.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 168,
      "functions": [
        {
          "name": "ToggleGroupDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\toggle-with-text.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 60,
      "functions": [
        {
          "name": "ToggleWithText",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-inline-code.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 54,
      "functions": [
        {
          "name": "TypographyInlineCode",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\hooks\\_registry.ts",
      "language": "typescript",
      "line_count": 15,
      "token_estimate": 64,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\sidebar-group.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 280,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0337,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 12.02,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\lib\\_registry.ts",
      "language": "typescript",
      "line_count": 16,
      "token_estimate": 71,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 110,
      "token_estimate": 729,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 14.67,
        "function_length_stddev": 2.58,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 110,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.6,
        "mechanical": 98.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 375,
      "token_estimate": 2638,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 331,
          "line_end": 365,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 331,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 351,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 353,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 353,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 357,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 360,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 351,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 353,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 353,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 357,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 360,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 2,
        "code_lines": 373,
        "comment_ratio": 0.0053,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 136,
      "token_estimate": 1063,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0757,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0757,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0757,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0757,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0757,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0757,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 75,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0757,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0757,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0757,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0757,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.6,
        "function_length_stddev": 6.59,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 136,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.53,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3787,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.82,
        "mechanical": 99.82,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 240,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 7,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-form-missing-labels",
              "severity": "high",
              "line": 7,
              "description": "Form input without associated label - screen readers cannot identify what the input is for",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.94,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.090909,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.77,
        "mechanical": 75.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 589,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverAnchor",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 9.43,
        "function_length_stddev": 5.77,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3881,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 727,
      "token_estimate": 5438,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 97,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 97 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 97 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 97 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 135,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 135,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 108,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 70,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 74,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 76,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 86,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 92,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 97,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 9,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 154,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 192,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 192,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1078,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 256,
          "line_end": 280,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 282,
          "line_end": 305,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 286,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1497,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 307,
          "line_end": 319,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 321,
          "line_end": 333,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 335,
          "line_end": 344,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 346,
          "line_end": 355,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 357,
          "line_end": 369,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 371,
          "line_end": 383,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 385,
          "line_end": 394,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 396,
          "line_end": 415,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 417,
          "line_end": 438,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 440,
          "line_end": 452,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 454,
          "line_end": 463,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 465,
          "line_end": 474,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 498,
          "line_end": 546,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 498,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0753,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 548,
          "line_end": 578,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 580,
          "line_end": 600,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 602,
          "line_end": 638,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 631,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 631,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.193,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 640,
          "line_end": 653,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 655,
          "line_end": 667,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 669,
          "line_end": 699,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0038,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 25.33,
        "function_length_stddev": 24.85,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 11,
        "code_lines": 716,
        "comment_ratio": 0.0151,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 17,
        "ai_smell_density": 0.023743,
        "structural_uniformity": 0.0192,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.69,
        "mechanical": 86.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 189,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.12,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 659,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 17.75,
        "function_length_stddev": 8.81,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5038,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.67,
        "mechanical": 97.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 702,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.97,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 194,
      "token_estimate": 1237,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 147,
          "line_end": 165,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 167,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.44,
        "function_length_stddev": 6.31,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 194,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6385,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.77,
        "mechanical": 97.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 469,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.67,
        "function_length_stddev": 16.77,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.9,
        "mechanical": 98.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 475,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.56,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 206,
      "token_estimate": 1675,
      "functions": [
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2209,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function SelectContent is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1766,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 19.33,
        "function_length_stddev": 10.51,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 206,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.96,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.009709,
        "structural_uniformity": 0.4563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.77,
        "mechanical": 94.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 401,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 188,
      "token_estimate": 1310,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 157,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 168,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3312,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 12.75,
        "function_length_stddev": 5.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 188,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005319,
        "structural_uniformity": 0.5625,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 232,
      "token_estimate": 2094,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1584,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 229,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 211,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3668,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105,
        "function_length_stddev": 96.17,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 232,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.84,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.047414,
        "structural_uniformity": 0.0841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.9,
        "mechanical": 66.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2025,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 199,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 9.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3804,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 158,
      "token_estimate": 1304,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 58,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 58,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 61,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5005,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 96,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3255,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 108,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4687,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 148,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.83,
        "function_length_stddev": 3.92,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 158,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.91,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044304,
        "structural_uniformity": 0.7524,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.17,
        "mechanical": 87.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 172,
      "token_estimate": 1856,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3106,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuPositioner",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 127,
          "line_end": 141,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.75,
        "function_length_stddev": 4.98,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 172,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005814,
        "structural_uniformity": 0.7195,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.22,
        "mechanical": 96.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 136,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 516,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 633,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.43,
        "function_length_stddev": 2.88,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.63,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7481,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.57,
        "mechanical": 99.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 160,
      "token_estimate": 1005,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function DialogContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1042,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.8,
        "function_length_stddev": 11.88,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 160,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.00625,
        "structural_uniformity": 0.0721,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.14,
        "mechanical": 97.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 636,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 134,
      "token_estimate": 728,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 52,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4147,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.57,
        "function_length_stddev": 6.53,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 134,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.552,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.18,
        "mechanical": 94.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 138,
      "token_estimate": 1106,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.8,
        "function_length_stddev": 11.68,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 138,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.08,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007246,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.72,
        "mechanical": 97.72,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 869,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 3.4,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7525,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 100,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 12,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 12,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.086957,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.86,
        "mechanical": 75.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1419,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.01,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 7,
      "token_estimate": 25,
      "functions": [
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 7,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 251,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 8,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.97,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.2,
        "mechanical": 87.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 648,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 10,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.5,
        "function_length_stddev": 11.13,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0321,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 730,
      "token_estimate": 5460,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 134,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 134,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 108,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 70,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 74,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 76,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 86,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 92,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 97,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3559,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 252,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 152,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 192,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 192,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1098,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 254,
          "line_end": 278,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 280,
          "line_end": 303,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 284,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1517,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 305,
          "line_end": 316,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 318,
          "line_end": 333,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 335,
          "line_end": 344,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 346,
          "line_end": 355,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 357,
          "line_end": 369,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 371,
          "line_end": 383,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 385,
          "line_end": 397,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 399,
          "line_end": 421,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 423,
          "line_end": 445,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 447,
          "line_end": 459,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 461,
          "line_end": 470,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 472,
          "line_end": 481,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 505,
          "line_end": 557,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 505,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 527,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.138,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 559,
          "line_end": 587,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 589,
          "line_end": 604,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 606,
          "line_end": 642,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 635,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 635,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 614,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2897,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 644,
          "line_end": 656,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 658,
          "line_end": 670,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 672,
          "line_end": 702,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0059,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 25.46,
        "function_length_stddev": 24.71,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 721,
        "comment_ratio": 0.0123,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.53,
        "debug_artifacts": [],
        "ai_smell_count": 19,
        "ai_smell_density": 0.026352,
        "structural_uniformity": 0.0294,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.73,
        "mechanical": 86.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 202,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\avatar.tsx",
      "language": "tsx",
      "line_count": 110,
      "token_estimate": 759,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 14.67,
        "function_length_stddev": 2.58,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 110,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.6,
        "mechanical": 98.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2625,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\drawer.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1096,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.5,
        "function_length_stddev": 5.78,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4497,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\item.tsx",
      "language": "tsx",
      "line_count": 202,
      "token_estimate": 1221,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 164,
          "line_end": 175,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 177,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.2,
        "function_length_stddev": 3.68,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 202,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7215,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.04,
        "mechanical": 99.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\progress.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 435,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressTrack",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 30,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ProgressIndicator",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressLabel",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4866,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ProgressValue",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 13,
        "function_length_stddev": 4.12,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.7,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.035714,
        "structural_uniformity": 0.6828,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.17,
        "mechanical": 90.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 68,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 798,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 50,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 43,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 43,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4735,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.87)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1735,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32,
        "function_length_stddev": 4.24,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.72,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8674,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.07,
        "mechanical": 80.07,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 481,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.43,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 337,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2214,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 187,
          "line_end": 194,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 196,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 11.36,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2657,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 209,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 413,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 14,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4949,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 501,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.18,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 440,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.86,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 123,
      "token_estimate": 649,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 75,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.14,
        "function_length_stddev": 4.45,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 123,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.4,
        "mechanical": 98.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 164,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 4.33,
        "function_length_stddev": 1.15,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7335,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 129,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 417,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 711,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 16.07,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 697,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3607,
          "ai_signals": [
            "High anti-pattern density (0.53)",
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 17,
        "function_length_stddev": 2.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.11,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011905,
        "structural_uniformity": 0.8824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.09,
        "mechanical": 94.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 303,
      "token_estimate": 2309,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 82,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3568,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 124,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 126,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 205,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 207,
          "line_end": 218,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 220,
          "line_end": 235,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 237,
          "line_end": 266,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 268,
          "line_end": 279,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 281,
          "line_end": 283,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.69,
        "function_length_stddev": 10.58,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 303,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009901,
        "structural_uniformity": 0.3255,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.35,
        "mechanical": 95.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1481,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.89,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 282,
      "token_estimate": 2159,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 169,
          "line_end": 187,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 189,
          "line_end": 200,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 202,
          "line_end": 216,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 218,
          "line_end": 222,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 224,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 248,
          "line_end": 262,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 14.94,
        "function_length_stddev": 8.23,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 282,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4493,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.52,
        "mechanical": 98.52,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 423,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 685,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.5,
        "function_length_stddev": 7.9,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5732,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.45,
        "mechanical": 97.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 764,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.9,
        "mechanical": 93.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 193,
      "token_estimate": 1232,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 117,
          "line_end": 131,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 133,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 164,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.33,
        "function_length_stddev": 6.02,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 193,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6526,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.8,
        "mechanical": 97.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 382,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 11,
        "function_length_stddev": 8.72,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2075,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 490,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 196,
      "token_estimate": 1680,
      "functions": [
        {
          "name": "Select",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 164,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 16.5,
        "function_length_stddev": 9.78,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 196,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4074,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 437,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.92,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 200,
      "token_estimate": 1399,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 148,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 150,
          "line_end": 166,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 168,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 13.75,
        "function_length_stddev": 4.92,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 200,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6422,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 233,
      "token_estimate": 2107,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1607,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 230,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 193,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarDayButton is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 208,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 212,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.369,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105.5,
        "function_length_stddev": 95.46,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 233,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 13,
        "ai_smell_density": 0.055794,
        "structural_uniformity": 0.0952,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 64.8,
        "mechanical": 64.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 268,
      "token_estimate": 2099,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 200,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 202,
          "line_end": 220,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 222,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.13,
        "function_length_stddev": 7.82,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 268,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.21,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4834,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.46,
        "mechanical": 98.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 156,
      "token_estimate": 1280,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 58,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 58,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 61,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.504,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3485,
          "ai_signals": [
            "High anti-pattern density (0.56)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 106,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4722,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 116,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.5,
        "function_length_stddev": 3.56,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 156,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.84,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044872,
        "structural_uniformity": 0.7701,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.13,
        "mechanical": 87.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 168,
      "token_estimate": 1651,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuViewport",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.12,
        "function_length_stddev": 3.64,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 168,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7873,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.55,
        "mechanical": 97.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 161,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 521,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 636,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.43,
        "function_length_stddev": 2.88,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7481,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.57,
        "mechanical": 99.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 165,
      "token_estimate": 1039,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 151,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.3,
        "function_length_stddev": 10.42,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 165,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2162,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.56,
        "mechanical": 98.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 640,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 133,
      "token_estimate": 720,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2715,
          "ai_signals": []
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.43,
        "function_length_stddev": 6.32,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 133,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007519,
        "structural_uniformity": 0.5619,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.08,
        "mechanical": 96.08,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 147,
      "token_estimate": 1143,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 48,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1103,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 11.7,
        "function_length_stddev": 10.5,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 147,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.01,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006803,
        "structural_uniformity": 0.1026,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.56,
        "mechanical": 97.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 878,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 77,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 15.5,
        "function_length_stddev": 2.65,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8293,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.35,
        "mechanical": 98.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 68,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1432,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.99,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\direction.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 126,
      "functions": [
        {
          "name": "DirectionProvider",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\input.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 242,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 7,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-form-missing-labels",
              "severity": "high",
              "line": 7,
              "description": "Form input without associated label - screen readers cannot identify what the input is for",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.1,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.1,
        "mechanical": 74.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\popover.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 597,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverAnchor",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 9.43,
        "function_length_stddev": 5.77,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3881,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\sidebar.tsx",
      "language": "tsx",
      "line_count": 703,
      "token_estimate": 5406,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 133,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 133,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 107,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 69,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 73,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 75,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 85,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 91,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 251,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 151,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 191,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 191,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.104,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 253,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 302,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 283,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 304,
          "line_end": 315,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 317,
          "line_end": 329,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 331,
          "line_end": 340,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 342,
          "line_end": 351,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 353,
          "line_end": 365,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 367,
          "line_end": 379,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 381,
          "line_end": 390,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 392,
          "line_end": 410,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 412,
          "line_end": 430,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 432,
          "line_end": 444,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 446,
          "line_end": 455,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 457,
          "line_end": 466,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 490,
          "line_end": 538,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 490,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 540,
          "line_end": 564,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 566,
          "line_end": 581,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 583,
          "line_end": 619,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 612,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 612,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 591,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2838,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 621,
          "line_end": 633,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 635,
          "line_end": 647,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 649,
          "line_end": 675,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 24.38,
        "function_length_stddev": 24.66,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 694,
        "comment_ratio": 0.0128,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.42,
        "debug_artifacts": [],
        "ai_smell_count": 18,
        "ai_smell_density": 0.025937,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.74,
        "mechanical": 86.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 210,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 113,
      "token_estimate": 774,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.17,
        "function_length_stddev": 2.23,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 113,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8531,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.45,
        "mechanical": 98.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2625,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1096,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.5,
        "function_length_stddev": 5.78,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4497,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 197,
      "token_estimate": 1200,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 95,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 136,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 149,
          "line_end": 157,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 172,
          "line_end": 183,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.8,
        "function_length_stddev": 2.53,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 197,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8024,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.91,
        "mechanical": 98.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 186,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.15,
        "mechanical": 95.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 68,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 799,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 49,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 42,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 42,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4782,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1782,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32.5,
        "function_length_stddev": 3.54,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.79,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8912,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.92,
        "mechanical": 79.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 466,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.1,
        "mechanical": 95.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 350,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 274,
      "token_estimate": 2234,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 120,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 162,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 182,
          "line_end": 193,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 195,
          "line_end": 209,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 211,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 217,
          "line_end": 239,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 241,
          "line_end": 255,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.53,
        "function_length_stddev": 8.71,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 274,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4394,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.34,
        "mechanical": 98.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 209,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 423,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 17,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 454,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.13,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 431,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.98,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\button-group-nested.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 207,
      "functions": [
        {
          "name": "ButtonGroupNested",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.93,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\field-slider.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 217,
      "functions": [
        {
          "name": "FieldSlider",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 1,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 13,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2917,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.055556,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.91,
        "mechanical": 81.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\spinner-badge.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 113,
      "functions": [
        {
          "name": "SpinnerBadge",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.94,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\charts\\layout.tsx",
      "language": "tsx",
      "line_count": 75,
      "token_estimate": 493,
      "functions": [
        {
          "name": "ChartsLayout",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 50,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 60,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2258,
          "ai_signals": [
            "High anti-pattern density (0.65)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 13,
              "description": "Unused import: import { ThemeSelector } from \"@/components/theme-selector\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'ThemeSelector' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { ThemeSelector } from \"@/components/theme-selector\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 75,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.77,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.026667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.03,
        "mechanical": 87.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\copy-preset.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 305,
      "functions": [
        {
          "name": "CopyPreset",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 12,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 14,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 21,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.3088,
          "ai_signals": [
            "High anti-pattern density (0.88)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.72,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.068182,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.25,
        "mechanical": 73.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\lock-button.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 295,
      "functions": [
        {
          "name": "LockButton",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 37,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1167,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.81,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.94,
        "mechanical": 80.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\preview-switcher.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 291,
      "functions": [
        {
          "name": "PreviewSwitcher",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.9,
        "mechanical": 86.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\theme-picker.tsx",
      "language": "tsx",
      "line_count": 131,
      "token_estimate": 982,
      "functions": [
        {
          "name": "ThemePicker",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 112,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 112 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 112 lines (> 37 dynamic threshold)",
                "impact": "Function ThemePicker is 112 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 60,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 80,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 60,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 80,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 54,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 62,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 62,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 78,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 41,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3437,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 112,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 131,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.14,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.083969,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 51.51,
        "mechanical": 51.51,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\hooks\\use-random.tsx",
      "language": "tsx",
      "line_count": 182,
      "token_estimate": 1365,
      "functions": [
        {
          "name": "randomItem",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "useRandom",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 151,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 31,
              "description": "Function is 151 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 151 lines (> 37 dynamic threshold)",
                "impact": "Function useRandom is 151 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 95,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 95,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 89,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 36,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 40,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 153,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 157,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1854,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 77,
        "function_length_stddev": 104.65,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 3,
        "code_lines": 179,
        "comment_ratio": 0.0165,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.84,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.044693,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.83,
        "mechanical": 73.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\lib\\preset-code.ts",
      "language": "typescript",
      "line_count": 35,
      "token_estimate": 267,
      "functions": [
        {
          "name": "getPresetCode",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 21,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 22,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 23,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 24,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 25,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 26,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 27,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 29,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 30,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 21,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 22,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 23,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 24,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 25,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 26,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 27,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 29,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 30,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.92,
        "debug_artifacts": [],
        "ai_smell_count": 20,
        "ai_smell_density": 0.571429,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.2,
        "mechanical": 73.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\lib\\v0.ts",
      "language": "typescript",
      "line_count": 618,
      "token_estimate": 4201,
      "functions": [
        {
          "name": "buildThemeInline",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 27,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function buildThemeInline is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1626,
          "ai_signals": []
        },
        {
          "name": "getStyle",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 178,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0848,
          "ai_signals": []
        },
        {
          "name": "buildV0Payload",
          "type": "function_declaration",
          "line_start": 180,
          "line_end": 213,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0848,
          "ai_signals": []
        },
        {
          "name": "buildGlobalsCss",
          "type": "function_declaration",
          "line_start": 215,
          "line_end": 266,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 3,
            "line_count": 52,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 215,
              "description": "Function is 52 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 52 lines (> 37 dynamic threshold)",
                "impact": "Function buildGlobalsCss is 52 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 220,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 224,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2867,
          "ai_signals": [
            "High anti-pattern density (0.58)"
          ]
        },
        {
          "name": "buildComponentsJson",
          "type": "function_declaration",
          "line_start": 268,
          "line_end": 295,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0848,
          "ai_signals": []
        },
        {
          "name": "buildPackageJson",
          "type": "function_declaration",
          "line_start": 297,
          "line_end": 372,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 76,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 297,
              "description": "Function is 76 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 76 lines (> 37 dynamic threshold)",
                "impact": "Function buildPackageJson is 76 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1308,
          "ai_signals": []
        },
        {
          "name": "buildLayoutFile",
          "type": "function_declaration",
          "line_start": 374,
          "line_end": 450,
          "metrics": {
            "cyclomatic_complexity": 9,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 374,
              "description": "Function is 77 lines (> 30 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 30 dynamic threshold)",
                "impact": "Function buildLayoutFile is 77 lines \u2014 exceeds 30 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-default-export-inconsistency",
              "severity": "low",
              "line": 427,
              "description": "Mix of default and named exports across the project - confusing import patterns, harder to refactor",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1757,
          "ai_signals": []
        },
        {
          "name": "buildComponentFiles",
          "type": "function_declaration",
          "line_start": 452,
          "line_end": 530,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 79,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 452,
              "description": "Function is 79 lines (> 30 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 79 lines (> 30 dynamic threshold)",
                "impact": "Function buildComponentFiles is 79 lines \u2014 exceeds 30 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-default-export-inconsistency",
              "severity": "low",
              "line": 491,
              "description": "Mix of default and named exports across the project - confusing import patterns, harder to refactor",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-default-export-inconsistency",
              "severity": "low",
              "line": 499,
              "description": "Mix of default and named exports across the project - confusing import patterns, harder to refactor",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-default-export-inconsistency",
              "severity": "low",
              "line": 501,
              "description": "Mix of default and named exports across the project - confusing import patterns, harder to refactor",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-default-export-inconsistency",
              "severity": "low",
              "line": 506,
              "description": "Mix of default and named exports across the project - confusing import patterns, harder to refactor",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-default-export-inconsistency",
              "severity": "low",
              "line": 508,
              "description": "Mix of default and named exports across the project - confusing import patterns, harder to refactor",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-default-export-inconsistency",
              "severity": "low",
              "line": 515,
              "description": "Mix of default and named exports across the project - confusing import patterns, harder to refactor",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3949,
          "ai_signals": [
            "High anti-pattern density (0.89)"
          ]
        },
        {
          "name": "buildTransformConfig",
          "type": "function_declaration",
          "line_start": 532,
          "line_end": 560,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0848,
          "ai_signals": []
        },
        {
          "name": "getRegistryItemFile",
          "type": "function_declaration",
          "line_start": 562,
          "line_end": 594,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 3,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 562,
              "description": "Function is 33 lines (> 30 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 33 lines (> 30 dynamic threshold)",
                "impact": "Function getRegistryItemFile is 33 lines \u2014 exceeds 30 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-no-revalidation-strategy",
              "severity": "medium",
              "line": 567,
              "description": "fetch() call in Server Component without revalidation options - uses default cache behavior which may serve stale data indefinitely or never cache",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 579,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.403,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "transformFileContent",
          "type": "function_declaration",
          "line_start": 596,
          "line_end": 617,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "firebase_permissive_rules",
              "severity": "critical",
              "line": 603,
              "description": "Firestore/RTDB rules with 'allow read, write: if true' or '.read': true \u2014 database is world-writable",
              "fix_type": "structural_rewrite"
            }
          ],
          "ai_confidence": 0.2439,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 11,
        "avg_function_length": 43.45,
        "function_length_stddev": 25.03,
        "import_count": 13,
        "export_count": 6,
        "comment_lines": 16,
        "code_lines": 602,
        "comment_ratio": 0.0259,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.86,
        "debug_artifacts": [],
        "ai_smell_count": 18,
        "ai_smell_density": 0.0299,
        "structural_uniformity": 0.4239,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.9,
        "mechanical": 74.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\dashboard\\components\\chart-area-interactive.tsx",
      "language": "tsx",
      "line_count": 287,
      "token_estimate": 2661,
      "functions": [
        {
          "name": "ChartAreaInteractive",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 286,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 144,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 143,
              "description": "Function is 144 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 144 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaInteractive is 144 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 237,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 252,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 256,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 145,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1215,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 144,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 287,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.017422,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.14,
        "mechanical": 78.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\dashboard\\page.tsx",
      "language": "tsx",
      "line_count": 64,
      "token_estimate": 490,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 39,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 39,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 17,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 20,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 28,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 64,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.109375,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 63.3,
        "mechanical": 63.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\playground\\components\\preset-share.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 389,
      "functions": [
        {
          "name": "PresetShare",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function PresetShare is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0921,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.6,
        "mechanical": 86.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\button-group-input-group.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 592,
      "functions": [
        {
          "name": "ButtonGroupInputGroup",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 38,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupInputGroup is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 63,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-inline-function-jsx-prop",
              "severity": "medium",
              "line": 63,
              "description": "Inline arrow function in JSX prop passed to a custom component - creates new function on every render, breaks React.memo memoization of child",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 40,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 40,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 42,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.26,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.084337,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 63.42,
        "mechanical": 63.42,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\index.tsx",
      "language": "tsx",
      "line_count": 92,
      "token_estimate": 742,
      "functions": [
        {
          "name": "RtlComponentsContent",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function RtlComponentsContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 44,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1296,
          "ai_signals": []
        },
        {
          "name": "RtlComponents",
          "type": "function_declaration",
          "line_start": 83,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 31.5,
        "function_length_stddev": 31.82,
        "import_count": 19,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 92,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.37,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021739,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.12,
        "mechanical": 84.12,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\tasks\\components\\columns.tsx",
      "language": "tsx",
      "line_count": 124,
      "token_estimate": 826,
      "functions": [
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 16,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.335,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 27,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 28,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3668,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 40,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 41,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3668,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 43,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0168,
          "ai_signals": []
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 49,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3668,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 52,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0168,
          "ai_signals": []
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 67,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 68,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3668,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 70,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0168,
          "ai_signals": []
        },
        {
          "name": "filterFn",
          "type": "arrow_function",
          "line_start": 88,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 3,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0168,
          "ai_signals": []
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 94,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 95,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3668,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 97,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0168,
          "ai_signals": []
        },
        {
          "name": "filterFn",
          "type": "arrow_function",
          "line_start": 115,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 3,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0168,
          "ai_signals": []
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 121,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 121,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3668,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 13,
        "avg_function_length": 6.69,
        "function_length_stddev": 6.13,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 124,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.59,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.056452,
        "structural_uniformity": 0.0842,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.21,
        "mechanical": 84.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\tasks\\components\\user-nav.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 490,
      "functions": [
        {
          "name": "UserNav",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function UserNav is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 24,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1599,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.26,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.031746,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.56,
        "mechanical": 81.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(create)\\init\\md\\build-instructions.ts",
      "language": "typescript",
      "line_count": 298,
      "token_estimate": 2121,
      "functions": [
        {
          "name": "buildInstructions",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 43 lines (> 30 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 30 dynamic threshold)",
                "impact": "Function buildInstructions is 43 lines \u2014 exceeds 30 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 24,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 28,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2891,
          "ai_signals": [
            "High anti-pattern density (0.70)"
          ]
        },
        {
          "name": "buildDependenciesSection",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0449,
          "ai_signals": []
        },
        {
          "name": "buildUtilsSection",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0449,
          "ai_signals": []
        },
        {
          "name": "buildCssSection",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 3,
            "line_count": 79,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 84,
              "description": "Function is 79 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 79 lines (> 37 dynamic threshold)",
                "impact": "Function buildCssSection is 79 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0892,
          "ai_signals": []
        },
        {
          "name": "buildFontSection",
          "type": "function_declaration",
          "line_start": 164,
          "line_end": 234,
          "metrics": {
            "cyclomatic_complexity": 15,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 71,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 164,
              "description": "Function is 71 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 71 lines (> 15 dynamic threshold)",
                "impact": "Function buildFontSection is 71 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 228,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1435,
          "ai_signals": []
        },
        {
          "name": "buildComponentsJsonSection",
          "type": "function_declaration",
          "line_start": 236,
          "line_end": 263,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0449,
          "ai_signals": []
        },
        {
          "name": "buildAvailableComponentsSection",
          "type": "function_declaration",
          "line_start": 265,
          "line_end": 280,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0449,
          "ai_signals": []
        },
        {
          "name": "buildRtlSection",
          "type": "function_declaration",
          "line_start": 282,
          "line_end": 297,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0449,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 34.75,
        "function_length_stddev": 26.95,
        "import_count": 6,
        "export_count": 2,
        "comment_lines": 3,
        "code_lines": 295,
        "comment_ratio": 0.0101,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.15,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.020339,
        "structural_uniformity": 0.2245,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.93,
        "mechanical": 79.93,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(create)\\preview\\[base]\\[name]\\page.tsx",
      "language": "tsx",
      "line_count": 152,
      "token_estimate": 922,
      "functions": [
        {
          "name": "PreventScrollOnFocusScript",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 27,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 27,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-script-tag-in-jsx",
              "severity": "high",
              "line": 27,
              "description": "Script tag used in JSX - React doesn't execute inline scripts, security risk and broken functionality",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4137,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "generateMetadata",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 47,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function generateMetadata is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1351,
          "ai_signals": []
        },
        {
          "name": "generateStaticParams",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 111,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 2,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 101,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 101,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4137,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "BlockPage",
          "type": "function_declaration",
          "line_start": 113,
          "line_end": 151,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 113,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function BlockPage is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1535,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 28,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 28,
        "function_length_stddev": 19.08,
        "import_count": 14,
        "export_count": 6,
        "comment_lines": 0,
        "code_lines": 152,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.31,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.046053,
        "structural_uniformity": 0.3186,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.19,
        "mechanical": 77.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\analytics.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 36,
      "functions": [
        {
          "name": "Analytics",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.56,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\calendar.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 149,
      "functions": [
        {
          "name": "CardsCalendar",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 14,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2059,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.61,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.037037,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.64,
        "mechanical": 88.64,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\payments.tsx",
      "language": "tsx",
      "line_count": 298,
      "token_estimate": 2096,
      "functions": [
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 94,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 95,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 104,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 105,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 117,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 124,
          "line_end": 124,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 128,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 129,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 144,
          "line_end": 168,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "CardsPayments",
          "type": "function_declaration",
          "line_start": 172,
          "line_end": 297,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 126,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 172,
              "description": "Function is 126 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 126 lines (> 37 dynamic threshold)",
                "impact": "Function CardsPayments is 126 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 237,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 179,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 23,
        "function_length_stddev": 42.34,
        "import_count": 8,
        "export_count": 3,
        "comment_lines": 1,
        "code_lines": 297,
        "comment_ratio": 0.0034,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.71,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.016835,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.95,
        "mechanical": 90.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\chart-iframe.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 133,
      "functions": [
        {
          "name": "ChartIframe",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 19,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-insecure-iframe",
              "severity": "high",
              "line": 19,
              "description": "iframe with sandbox attribute missing or too permissive - allows embedded content to execute scripts, navigate parent, or access cookies",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 16,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.84,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.09375,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 69.56,
        "mechanical": 69.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\color.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 563,
      "functions": [
        {
          "name": "Color",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function Color is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 21,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 21,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2283,
          "ai_signals": [
            "High anti-pattern density (0.65)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.9,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.052632,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.54,
        "mechanical": 73.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\copy-button.tsx",
      "language": "tsx",
      "line_count": 122,
      "token_estimate": 650,
      "functions": [
        {
          "name": "legacyCopyToClipboard",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 1
          },
          "anti_patterns": [
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 19,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2622,
          "ai_signals": []
        },
        {
          "name": "copyToClipboardWithMeta",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 7,
            "max_nesting_depth": 2,
            "parameter_count": 2,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 1
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 45,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2194,
          "ai_signals": []
        },
        {
          "name": "CopyButton",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 67,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function CopyButton is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 79,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 81,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3009,
          "ai_signals": [
            "High anti-pattern density (0.55)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 36.67,
        "function_length_stddev": 16.5,
        "import_count": 5,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 122,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.33,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.040984,
        "structural_uniformity": 0.5499,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.09,
        "mechanical": 72.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\docs-toc.tsx",
      "language": "tsx",
      "line_count": 127,
      "token_estimate": 802,
      "functions": [
        {
          "name": "useActiveItem",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 18,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1934,
          "ai_signals": []
        },
        {
          "name": "DocsTableOfContents",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 50,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function DocsTableOfContents is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 100,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 70,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 63,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2723,
          "ai_signals": [
            "High anti-pattern density (0.52)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 55.5,
        "function_length_stddev": 30.41,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 127,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.74,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.03937,
        "structural_uniformity": 0.4522,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.51,
        "mechanical": 72.51,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\nav-header.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 303,
      "functions": [
        {
          "name": "NavHeader",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 21,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 26,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 31,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.41,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.078947,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.76,
        "mechanical": 75.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\site-footer.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 406,
      "functions": [
        {
          "name": "SiteFooter",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 3,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function SiteFooter is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 10,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 28,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2625,
          "ai_signals": [
            "High anti-pattern density (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.01,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.069767,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.56,
        "mechanical": 73.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\accordion-basic.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 311,
      "functions": [
        {
          "name": "AccordionBasic",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.24,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\alert-basic.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 118,
      "functions": [
        {
          "name": "AlertBasic",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.12,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\alert-dialog-rtl.tsx",
      "language": "tsx",
      "line_count": 125,
      "token_estimate": 933,
      "functions": [
        {
          "name": "AlertDialogRtl",
          "type": "function_declaration",
          "line_start": 75,
          "line_end": 124,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 75,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function AlertDialogRtl is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.07,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 125,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.28,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.0,
        "mechanical": 81.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\avatar-badge-icon.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 109,
      "functions": [
        {
          "name": "AvatarBadgeIconExample",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 13,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.1,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.8,
        "mechanical": 87.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\avatar-rtl.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 472,
      "functions": [
        {
          "name": "AvatarRtl",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarRtl is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 49,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 57,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 65,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 70,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 77,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 48,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.1,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.068966,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.36,
        "mechanical": 71.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\badge-variants.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 95,
      "functions": [
        {
          "name": "BadgeVariants",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.97,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-default.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 33,
      "functions": [
        {
          "name": "ButtonDefault",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-group-nested.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 258,
      "functions": [
        {
          "name": "ButtonGroupNested",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 5,
              "description": "Unused import: import { Input } from \"@/styles/base-nova/ui/input\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Input' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Input } from \"@/styles/base-nova/ui/input\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-icon.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 64,
      "functions": [
        {
          "name": "ButtonIcon",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.94,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-spinner.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 115,
      "functions": [
        {
          "name": "ButtonLoading",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\calendar-multiple.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 80,
      "functions": [
        {
          "name": "CalendarMultiple",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\card-rtl.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 808,
      "functions": [
        {
          "name": "CardRtl",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 67,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function CardRtl is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.07,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.58,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008547,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.86,
        "mechanical": 85.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\carousel-size.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 248,
      "functions": [
        {
          "name": "CarouselSize",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.95,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\chart-rtl.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 670,
      "functions": [
        {
          "name": "ChartRtl",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 69,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRtl is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 86,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 100,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 102,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 108,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 96,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 96,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 96,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 96,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.96,
        "debug_artifacts": [],
        "ai_smell_count": 13,
        "ai_smell_density": 0.113043,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 62.95,
        "mechanical": 62.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\checkbox-rtl.tsx",
      "language": "tsx",
      "line_count": 97,
      "token_estimate": 703,
      "functions": [
        {
          "name": "CheckboxRtl",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxRtl is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 97,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.51,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010309,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.82,
        "mechanical": 87.82,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\combobox-basic.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 177,
      "functions": [
        {
          "name": "ComboboxBasic",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.42,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\combobox-multiple.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 323,
      "functions": [
        {
          "name": "ComboboxMultiple",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\command-scrollable.tsx",
      "language": "tsx",
      "line_count": 183,
      "token_estimate": 1363,
      "functions": [
        {
          "name": "CommandManyItems",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 140,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 140 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 140 lines (> 37 dynamic threshold)",
                "impact": "Function CommandManyItems is 140 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 44,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.05,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 140,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 183,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.9,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.010929,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.27,
        "mechanical": 82.27,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\context-menu-radio.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 446,
      "functions": [
        {
          "name": "ContextMenuRadio",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1892,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.45,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.037736,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.47,
        "mechanical": 82.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\date-picker-basic.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 289,
      "functions": [
        {
          "name": "DatePickerSimple",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.42,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.5,
        "mechanical": 91.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dialog-close-button.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 327,
      "functions": [
        {
          "name": "DialogCloseButton",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\drawer-rtl.tsx",
      "language": "tsx",
      "line_count": 194,
      "token_estimate": 1185,
      "functions": [
        {
          "name": "DrawerRtl",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 193,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 84,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 110,
              "description": "Function is 84 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 84 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerRtl is 84 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 174,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 174,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 112,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1667,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 84,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 194,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.67,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.020619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.35,
        "mechanical": 77.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dropdown-menu-demo.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 622,
      "functions": [
        {
          "name": "DropdownMenuDemo",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuDemo is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1213,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 13.66,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012987,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.35,
        "mechanical": 82.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\empty-avatar-group.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 400,
      "functions": [
        {
          "name": "EmptyAvatarGroup",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function EmptyAvatarGroup is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 25,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 30,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 37,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.02,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.068966,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.76,
        "mechanical": 73.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\field-checkbox.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 616,
      "functions": [
        {
          "name": "FieldCheckbox",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 66,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 66 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 66 lines (> 37 dynamic threshold)",
                "impact": "Function FieldCheckbox is 66 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.053,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 66,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012658,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.84,
        "mechanical": 81.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\field-rtl.tsx",
      "language": "tsx",
      "line_count": 290,
      "token_estimate": 2223,
      "functions": [
        {
          "name": "FieldRtl",
          "type": "function_declaration",
          "line_start": 160,
          "line_end": 289,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 130,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 160,
              "description": "Function is 130 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 130 lines (> 37 dynamic threshold)",
                "impact": "Function FieldRtl is 130 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 165,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 165,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0808,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 130,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 290,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.010345,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.41,
        "mechanical": 82.41,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\hover-card-sides.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 236,
      "functions": [
        {
          "name": "HoverCardSides",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.56,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.1,
        "mechanical": 96.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-file.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 95,
      "functions": [
        {
          "name": "InputFile",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-custom.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 209,
      "functions": [
        {
          "name": "InputGroupCustom",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-label.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 356,
      "functions": [
        {
          "name": "InputGroupLabel",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.9,
        "mechanical": 91.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-with-buttons.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 507,
      "functions": [
        {
          "name": "InputGroupWithButtons",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithButtons is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import { Button } from \"@/styles/base-nova/ui/button\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Button' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Button } from \"@/styles/base-nova/ui/button\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 5,
              "description": "Unused import: import { Input } from \"@/styles/base-nova/ui/input\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Input' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Input } from \"@/styles/base-nova/ui/input\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.12,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016129,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 2
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.27,
        "mechanical": 84.27,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-otp-demo.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 117,
      "functions": [
        {
          "name": "InputOTPDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 11,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 12,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 13,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 14,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 15,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 16,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.59,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.285714,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.8,
        "mechanical": 73.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-required.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 133,
      "functions": [
        {
          "name": "InputRequired",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\item-image.tsx",
      "language": "tsx",
      "line_count": 69,
      "token_estimate": 423,
      "functions": [
        {
          "name": "ItemImage",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 45,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 45,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1944,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 69,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.25,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.028986,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.95,
        "mechanical": 84.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\kbd-input-group.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 152,
      "functions": [
        {
          "name": "KbdInputGroup",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.02,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\menubar-radio.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 366,
      "functions": [
        {
          "name": "MenubarRadio",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.42,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.041667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.98,
        "mechanical": 82.98,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\native-select-rtl.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 341,
      "functions": [
        {
          "name": "NativeSelectRtl",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.43,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\popover-alignments.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 271,
      "functions": [
        {
          "name": "PopoverAlignments",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 10,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1094,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.025,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.15,
        "mechanical": 87.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\progress-rtl.tsx",
      "language": "tsx",
      "line_count": 68,
      "token_estimate": 334,
      "functions": [
        {
          "name": "toArabicNumerals",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0631,
          "ai_signals": []
        },
        {
          "name": "ProgressRtl",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0631,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 15.5,
        "function_length_stddev": 10.61,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 68,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3157,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.35,
        "mechanical": 98.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\radio-group-rtl.tsx",
      "language": "tsx",
      "line_count": 93,
      "token_estimate": 645,
      "functions": [
        {
          "name": "RadioGroupRtl",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 93,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.31,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.9,
        "mechanical": 91.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\select-align-item.tsx",
      "language": "tsx",
      "line_count": 69,
      "token_estimate": 454,
      "functions": [
        {
          "name": "SelectAlignItem",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 33,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0946,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 12,
              "description": "Unused import: import { Label } from \"@/styles/base-nova/ui/label\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Label' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Label } from \"@/styles/base-nova/ui/label\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 69,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.63,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014493,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.28,
        "mechanical": 88.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\separator-list.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 171,
      "functions": [
        {
          "name": "SeparatorList",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-controlled.tsx",
      "language": "tsx",
      "line_count": 95,
      "token_estimate": 530,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 69,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 57,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 95,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.02,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.031579,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.41,
        "mechanical": 78.41,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-menu-badge.tsx",
      "language": "tsx",
      "line_count": 86,
      "token_estimate": 447,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 69,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1207,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 86,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.2,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011628,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.39,
        "mechanical": 91.39,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\skeleton-demo.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 90,
      "functions": [
        {
          "name": "SkeletonDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.28,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\slider-multiple.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 58,
      "functions": [
        {
          "name": "SliderMultiple",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 5,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.07,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.076923,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.77,
        "mechanical": 80.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\spinner-badge.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 136,
      "functions": [
        {
          "name": "SpinnerBadge",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\switch-choice-card.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 293,
      "functions": [
        {
          "name": "SwitchChoiceCard",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\table-demo.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 518,
      "functions": [
        {
          "name": "TableDemo",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\tabs-vertical.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 104,
      "functions": [
        {
          "name": "TabsVertical",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.13,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-disabled.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 93,
      "functions": [
        {
          "name": "ToggleDisabled",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-group-vertical.tsx",
      "language": "tsx",
      "line_count": 28,
      "token_estimate": 175,
      "functions": [
        {
          "name": "ToggleGroupVertical",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\tooltip-rtl.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 524,
      "functions": [
        {
          "name": "TooltipRtl",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-inline-code.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 52,
      "functions": [
        {
          "name": "TypographyInlineCode",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-table.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 451,
      "functions": [
        {
          "name": "TypographyTable",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function TypographyTable is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-table-missing-caption",
              "severity": "medium",
              "line": 4,
              "description": "Data table without caption or aria-label - screen reader users cannot understand the table's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1591,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.48,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.044444,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.69,
        "mechanical": 78.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\alert-action.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 140,
      "functions": [
        {
          "name": "AlertActionExample",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\alert-dialog-media.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 294,
      "functions": [
        {
          "name": "AlertDialogWithMedia",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0207,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.24,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\aspect-ratio-square.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 120,
      "functions": [
        {
          "name": "AspectRatioSquare",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.27,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\avatar-group.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 177,
      "functions": [
        {
          "name": "AvatarGroupExample",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 12,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 16,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 21,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.56,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.103448,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.7,
        "mechanical": 71.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\badge-spinner.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 110,
      "functions": [
        {
          "name": "BadgeWithSpinner",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.84,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\breadcrumb-separator.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 241,
      "functions": [
        {
          "name": "BreadcrumbSeparatorDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 19,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 27,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2694,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.61,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.05,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.4,
        "mechanical": 82.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-group-input-group.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 448,
      "functions": [
        {
          "name": "ButtonGroupInputGroup",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupInputGroup is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 32,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 21,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.94,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.050847,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.09,
        "mechanical": 76.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-group-size.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 327,
      "functions": [
        {
          "name": "ButtonGroupSize",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 6,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupSize is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.24,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.19,
        "mechanical": 85.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-size.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 311,
      "functions": [
        {
          "name": "ButtonSize",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.71,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\calendar-hijri.tsx",
      "language": "tsx",
      "line_count": 235,
      "token_estimate": 2095,
      "functions": [
        {
          "name": "CalendarHijri",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 196,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 157,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 40,
              "description": "Function is 157 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 157 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 157 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 164,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 170,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 178,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1115,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 198,
          "line_end": 234,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 212,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 208,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 207,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 208,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 70.33,
        "function_length_stddev": 75.72,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 4,
        "code_lines": 231,
        "comment_ratio": 0.017,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.038961,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.93,
        "mechanical": 71.93,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\card-image.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 265,
      "functions": [
        {
          "name": "CardImage",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 16,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.72,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.027027,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.74,
        "mechanical": 88.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\carousel-rtl.tsx",
      "language": "tsx",
      "line_count": 78,
      "token_estimate": 432,
      "functions": [
        {
          "name": "toArabicNumerals",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0155,
          "ai_signals": []
        },
        {
          "name": "CarouselRtl",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 40,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CarouselRtl is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1076,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 23,
        "function_length_stddev": 21.21,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 78,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.03,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012821,
        "structural_uniformity": 0.0777,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.89,
        "mechanical": 92.89,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\chart-example.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 246,
      "functions": [
        {
          "name": "ChartExample",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\checkbox-invalid.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 140,
      "functions": [
        {
          "name": "CheckboxInvalid",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\combobox-auto-highlight.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 181,
      "functions": [
        {
          "name": "ComboboxAutoHighlight",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.73,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\combobox-invalid.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 181,
      "functions": [
        {
          "name": "ComboboxInvalid",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\command-rtl.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 702,
      "functions": [
        {
          "name": "CommandRtl",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 73,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function CommandRtl is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 78,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1591,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.28,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017094,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.53,
        "mechanical": 85.53,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\context-menu-icons.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 343,
      "functions": [
        {
          "name": "ContextMenuIcons",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.9,
        "mechanical": 91.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\data-table-rtl.tsx",
      "language": "tsx",
      "line_count": 430,
      "token_estimate": 3067,
      "functions": [
        {
          "name": "DataTableRtl",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 429,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 265,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 165,
              "description": "Function is 265 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 265 lines (> 37 dynamic threshold)",
                "impact": "Function DataTableRtl is 265 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 180,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 192,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 313,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 205,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 315,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 205,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 315,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 315,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 317,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 374,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 173,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1585,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 265,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 430,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.05,
        "debug_artifacts": [],
        "ai_smell_count": 12,
        "ai_smell_density": 0.027907,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.02,
        "mechanical": 68.02,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\date-picker-time.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 505,
      "functions": [
        {
          "name": "DatePickerTime",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerTime is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1522,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.031746,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.76,
        "mechanical": 78.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\drawer-dialog.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 648,
      "functions": [
        {
          "name": "DrawerDialogDemo",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 29,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerDialogDemo is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 30,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2084,
          "ai_signals": []
        },
        {
          "name": "ProfileForm",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0563,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 30.5,
        "function_length_stddev": 21.92,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021978,
        "structural_uniformity": 0.2813,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.61,
        "mechanical": 85.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dropdown-menu-complex.tsx",
      "language": "tsx",
      "line_count": 290,
      "token_estimate": 2427,
      "functions": [
        {
          "name": "DropdownMenuComplex",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 289,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 239,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 51,
              "description": "Function is 239 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 239 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuComplex is 239 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 52,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 57,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0946,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 239,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 290,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 13.04,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.010345,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.41,
        "mechanical": 82.41,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dropdown-menu-submenu.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 485,
      "functions": [
        {
          "name": "DropdownMenuSubmenu",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 16,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuSubmenu is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1512,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 13.82,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.54,
        "mechanical": 86.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\empty-rtl.tsx",
      "language": "tsx",
      "line_count": 86,
      "token_estimate": 541,
      "functions": [
        {
          "name": "EmptyRtl",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 86,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\field-responsive.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 300,
      "functions": [
        {
          "name": "FieldResponsive",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.47,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\hover-card-rtl.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 456,
      "functions": [
        {
          "name": "HoverCardRtl",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.21,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.1,
        "mechanical": 96.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-fieldgroup.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 240,
      "functions": [
        {
          "name": "InputFieldgroup",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.9,
        "mechanical": 94.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-button.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 662,
      "functions": [
        {
          "name": "InputGroupButtonExample",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupButtonExample is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 26,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1667,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.13,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.034483,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.88,
        "mechanical": 73.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-kbd.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 137,
      "functions": [
        {
          "name": "InputGroupKbd",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.95,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-with-addons.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1029,
      "functions": [
        {
          "name": "InputGroupWithAddons",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 107,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 107 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 107 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithAddons is 107 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0327,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 107,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.89,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007407,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.15,
        "mechanical": 83.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-otp-controlled.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 222,
      "functions": [
        {
          "name": "InputOTPControlled",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 22,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 25,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 26,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 27,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 32,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 34,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 12,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.8,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.225,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.8,
        "mechanical": 66.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-otp-separator.tsx",
      "language": "tsx",
      "line_count": 28,
      "token_estimate": 157,
      "functions": [
        {
          "name": "InputOTPWithSeparator",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 12,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 13,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 22,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3515,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.09,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.214286,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.0,
        "mechanical": 72.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\item-icon.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 203,
      "functions": [
        {
          "name": "ItemIcon",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\kbd-group.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 101,
      "functions": [
        {
          "name": "KbdGroupExample",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\menubar-icons.tsx",
      "language": "tsx",
      "line_count": 65,
      "token_estimate": 371,
      "functions": [
        {
          "name": "MenubarIcons",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarIcons is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0865,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 65,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.42,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015385,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.95,
        "mechanical": 85.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\native-select-invalid.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 122,
      "functions": [
        {
          "name": "NativeSelectInvalid",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0027,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\pagination-simple.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 206,
      "functions": [
        {
          "name": "PaginationSimple",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.029,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.74,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\progress-label.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 107,
      "functions": [
        {
          "name": "ProgressWithLabel",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 11,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.47,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.066667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.03,
        "mechanical": 83.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\radio-group-invalid.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 334,
      "functions": [
        {
          "name": "RadioGroupInvalid",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\scroll-area-rtl.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 281,
      "functions": [
        {
          "name": "ScrollAreaRtl",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.92,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\separator-demo.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 143,
      "functions": [
        {
          "name": "SeparatorDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sheet-side.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 541,
      "functions": [
        {
          "name": "SheetSide",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function SheetSide is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0745,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016129,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.87,
        "mechanical": 84.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-menu-action.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 653,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 74,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1522,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.87,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.019048,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.44,
        "mechanical": 84.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\skeleton-card.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 114,
      "functions": [
        {
          "name": "SkeletonCard",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\slider-disabled.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 60,
      "functions": [
        {
          "name": "SliderDisabled",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 5,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.27,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.071429,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.84,
        "mechanical": 81.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sonner-types.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 361,
      "functions": [
        {
          "name": "SonnerTypes",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 7,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function SonnerTypes is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0636,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 55,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.61,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016129,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.47,
        "mechanical": 82.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\spinner-size.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 78,
      "functions": [
        {
          "name": "SpinnerSize",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.12,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\table-actions.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 872,
      "functions": [
        {
          "name": "TableActions",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function TableActions is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0432,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 81,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.07,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009901,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.52,
        "mechanical": 82.52,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\tabs-rtl.tsx",
      "language": "tsx",
      "line_count": 159,
      "token_estimate": 1372,
      "functions": [
        {
          "name": "TabsRtl",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 158,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 101,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function TabsRtl is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0603,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 159,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.17,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006289,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.03,
        "mechanical": 84.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-demo.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 82,
      "functions": [
        {
          "name": "ToggleDemo",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-group-spacing.tsx",
      "language": "tsx",
      "line_count": 30,
      "token_estimate": 174,
      "functions": [
        {
          "name": "ToggleGroupSpacing",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 30,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\tooltip-keyboard.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 137,
      "functions": [
        {
          "name": "TooltipKeyboard",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-h4.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 41,
      "functions": [
        {
          "name": "TypographyH4",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-small.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 32,
      "functions": [
        {
          "name": "TypographySmall",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\hooks\\use-mobile.ts",
      "language": "typescript",
      "line_count": 18,
      "token_estimate": 142,
      "functions": [
        {
          "name": "useIsMobile",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 6,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2333,
          "ai_signals": [
            "High anti-pattern density (0.67)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.94,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.055556,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.61,
        "mechanical": 84.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\components.ts",
      "language": "typescript",
      "line_count": 66,
      "token_estimate": 241,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 65,
        "comment_ratio": 0.0152,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\highlight-code.ts",
      "language": "typescript",
      "line_count": 99,
      "token_estimate": 853,
      "functions": [
        {
          "name": "code",
          "type": "method_definition",
          "line_start": 15,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 7,
            "max_nesting_depth": 6,
            "parameter_count": 1,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "deep-nesting",
              "severity": "high",
              "line": 15,
              "description": "Nesting depth 6 > 4",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Nesting depth 6 > 4",
                "impact": "Nesting depth 6 at line 15 in code makes control flow hard to follow",
                "recommendation": "Extract nested blocks into helper functions or use early returns to flatten",
                "confidence": 0.9,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 42 lines (> 30 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 30 dynamic threshold)",
                "impact": "Function code is 42 lines \u2014 exceeds 30 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.4312,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.95)"
          ]
        },
        {
          "name": "highlightCode",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 60,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function highlightCode is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.3543,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.95)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 40.5,
        "function_length_stddev": 2.12,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 8,
        "code_lines": 91,
        "comment_ratio": 0.0808,
        "comment_what_ratio": 0.375,
        "naming_avg_length": 5.7,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.032967,
        "structural_uniformity": 0.9476,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 63.36,
        "mechanical": 63.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\utils.ts",
      "language": "typescript",
      "line_count": 11,
      "token_estimate": 66,
      "functions": [
        {
          "name": "cn",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 6,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        },
        {
          "name": "absoluteUrl",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 10,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 11,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 1.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\_legacy-themes.ts",
      "language": "typescript",
      "line_count": 11,
      "token_estimate": 71,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 11,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.95,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\dashboard-01\\components\\nav-documents.tsx",
      "language": "tsx",
      "line_count": 116,
      "token_estimate": 911,
      "functions": [
        {
          "name": "NavDocuments",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function NavDocuments is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 37,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0737,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 95,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 116,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.4,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017241,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.69,
        "mechanical": 80.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\login-01\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 77,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\login-05\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 84,
      "functions": [
        {
          "name": "LoginPage",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\dividend-income.tsx",
      "language": "tsx",
      "line_count": 140,
      "token_estimate": 861,
      "functions": [
        {
          "name": "DividendIncome",
          "type": "function_declaration",
          "line_start": 83,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 83,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function DividendIncome is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 119,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1228,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import { Bar, BarChart, XAxis } from \"recharts\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'XAxis' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Bar, BarChart, XAxis } from \"recharts\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 140,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.03,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014286,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.33,
        "mechanical": 82.33,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\loading-card.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 206,
      "functions": [
        {
          "name": "LoadingCard",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.56,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\receiving-method.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 809,
      "functions": [
        {
          "name": "ReceivingMethod",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 75,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 29,
              "description": "Function is 75 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 75 lines (> 37 dynamic threshold)",
                "impact": "Function ReceivingMethod is 75 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 75,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.74,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009615,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.6,
        "mechanical": 82.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\stock-performance.tsx",
      "language": "tsx",
      "line_count": 145,
      "token_estimate": 1000,
      "functions": [
        {
          "name": "StockPerformance",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 78,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 67,
              "description": "Function is 78 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 78 lines (> 37 dynamic threshold)",
                "impact": "Function StockPerformance is 78 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 127,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 128,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 68,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1795,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 4,
              "description": "Unused import: import { Area, AreaChart, CartesianGrid, XAxis } from \"recharts\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'XAxis' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Area, AreaChart, CartesianGrid, XAxis } from \"recharts\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 78,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 145,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.027586,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.85,
        "mechanical": 76.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\assign-issue.tsx",
      "language": "tsx",
      "line_count": 129,
      "token_estimate": 899,
      "functions": [
        {
          "name": "AssignIssue",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 80,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 49,
              "description": "Function is 80 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 80 lines (> 37 dynamic threshold)",
                "impact": "Function AssignIssue is 80 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 89,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 98,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 113,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 90,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 114,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2625,
          "ai_signals": [
            "High anti-pattern density (0.75)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 80,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 128,
        "comment_ratio": 0.0078,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.08,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.046875,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.28,
        "mechanical": 73.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\feedback-form.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 647,
      "functions": [
        {
          "name": "FeedbackForm",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function FeedbackForm is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0636,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 55,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.81,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.77,
        "mechanical": 82.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\not-found.tsx",
      "language": "tsx",
      "line_count": 55,
      "token_estimate": 409,
      "functions": [
        {
          "name": "NotFound",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 55,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.77,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\style-overview.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 676,
      "functions": [
        {
          "name": "StyleOverview",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 71,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 71 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 71 lines (> 37 dynamic threshold)",
                "impact": "Function StyleOverview is 71 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 66,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 66,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 33,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 34,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 35,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 37,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3451,
          "ai_signals": [
            "High anti-pattern density (0.99)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 71,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.81,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.08642,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 58.39,
        "mechanical": 58.39,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-01\\components\\search-form.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 270,
      "functions": [
        {
          "name": "SearchForm",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-03\\page.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 477,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.35,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.84,
        "mechanical": 86.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-06\\components\\sidebar-opt-in-form.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 240,
      "functions": [
        {
          "name": "SidebarOptInForm",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.01,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-08\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 251,
      "token_estimate": 1460,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 215,
          "line_end": 250,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 241,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 242,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 243,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 246,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 251,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.53,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.015936,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.22,
        "mechanical": 88.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-09\\page.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 431,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 48,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 21,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 21,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3415,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.95,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.068966,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.46,
        "mechanical": 73.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-10\\page.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 410,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-13\\components\\settings-dialog.tsx",
      "language": "tsx",
      "line_count": 246,
      "token_estimate": 1635,
      "functions": [
        {
          "name": "SettingsDialog",
          "type": "function_declaration",
          "line_start": 182,
          "line_end": 245,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 64,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 182,
              "description": "Function is 64 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 64 lines (> 37 dynamic threshold)",
                "impact": "Function SettingsDialog is 64 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 234,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 183,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1641,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 64,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 246,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.16,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.012195,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.95,
        "mechanical": 81.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-15\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 242,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 31,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1207,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.31,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.023256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.49,
        "mechanical": 88.49,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-16\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 86,
      "token_estimate": 594,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 47,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 53,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 52,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 69,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3231,
          "ai_signals": [
            "High anti-pattern density (0.92)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 86,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.84,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.069767,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.56,
        "mechanical": 67.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\signup-01\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 78,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\signup-05\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 85,
      "functions": [
        {
          "name": "SignupPage",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\avatar-example.tsx",
      "language": "tsx",
      "line_count": 512,
      "token_estimate": 3662,
      "functions": [
        {
          "name": "AvatarExample",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1022,
          "ai_signals": []
        },
        {
          "name": "AvatarSizes",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 43,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 47,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 51,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4409,
          "ai_signals": [
            "High anti-pattern density (0.97)"
          ]
        },
        {
          "name": "AvatarWithBadge",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 70,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarWithBadge is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 76,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 84,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 92,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4066,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        },
        {
          "name": "AvatarWithBadgeIcon",
          "type": "function_declaration",
          "line_start": 117,
          "line_end": 210,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 94,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 117,
              "description": "Function is 94 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 94 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarWithBadgeIcon is 94 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 123,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 139,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 155,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2512,
          "ai_signals": []
        },
        {
          "name": "AvatarGroupExample",
          "type": "function_declaration",
          "line_start": 212,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 66,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 212,
              "description": "Function is 66 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 66 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarGroupExample is 66 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 217,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 222,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 229,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 237,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 242,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 249,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 257,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 262,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 269,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4522,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "AvatarGroupWithCount",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 347,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 69,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 279,
              "description": "Function is 69 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 69 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarGroupWithCount is 69 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 284,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 289,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 296,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 305,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 310,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 317,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 326,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 331,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 338,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4522,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "AvatarGroupWithIconCount",
          "type": "function_declaration",
          "line_start": 349,
          "line_end": 447,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 99,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 349,
              "description": "Function is 99 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 99 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarGroupWithIconCount is 99 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 354,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 359,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 366,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 383,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 388,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 395,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 413,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 421,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 429,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4522,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "AvatarInEmpty",
          "type": "function_declaration",
          "line_start": 449,
          "line_end": 511,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 449,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarInEmpty is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 458,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 466,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 474,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3244,
          "ai_signals": [
            "High anti-pattern density (0.63)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 60.12,
        "function_length_stddev": 29.4,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 512,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.64,
        "debug_artifacts": [],
        "ai_smell_count": 45,
        "ai_smell_density": 0.087891,
        "structural_uniformity": 0.5111,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 63.03,
        "mechanical": 63.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\chart-example.tsx",
      "language": "tsx",
      "line_count": 583,
      "token_estimate": 4378,
      "functions": [
        {
          "name": "ChartExample",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1167,
          "ai_signals": []
        },
        {
          "name": "ChartAreaExample",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 66,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 74,
              "description": "Function is 66 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 66 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaExample is 66 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 102,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2758,
          "ai_signals": []
        },
        {
          "name": "ChartBarExample",
          "type": "function_declaration",
          "line_start": 161,
          "line_end": 208,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 161,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function ChartBarExample is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 172,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 180,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3355,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        },
        {
          "name": "ChartLineExample",
          "type": "function_declaration",
          "line_start": 230,
          "line_end": 297,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 230,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLineExample is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 248,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 256,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2711,
          "ai_signals": []
        },
        {
          "name": "ChartPieExample",
          "type": "function_declaration",
          "line_start": 333,
          "line_end": 414,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 333,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function ChartPieExample is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 351,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 362,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2448,
          "ai_signals": []
        },
        {
          "name": "ChartRadarExample",
          "type": "function_declaration",
          "line_start": 436,
          "line_end": 486,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 436,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarExample is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 452,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.254,
          "ai_signals": []
        },
        {
          "name": "ChartRadialExample",
          "type": "function_declaration",
          "line_start": 502,
          "line_end": 582,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 502,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadialExample is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 530,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2031,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 58.29,
        "function_length_stddev": 24.27,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 583,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.027444,
        "structural_uniformity": 0.5836,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.65,
        "mechanical": 78.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\dialog-example.tsx",
      "language": "tsx",
      "line_count": 602,
      "token_estimate": 6058,
      "functions": [
        {
          "name": "DialogExample",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogWithForm",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 79,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function DialogWithForm is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        },
        {
          "name": "DialogScrollableContent",
          "type": "function_declaration",
          "line_start": 122,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogWithStickyFooter",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 158,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function DialogWithStickyFooter is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0875,
          "ai_signals": []
        },
        {
          "name": "DialogNoCloseButton",
          "type": "function_declaration",
          "line_start": 199,
          "line_end": 223,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogChatSettings",
          "type": "function_declaration",
          "line_start": 272,
          "line_end": 601,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 330,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 272,
              "description": "Function is 330 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 330 lines (> 37 dynamic threshold)",
                "impact": "Function DialogChatSettings is 330 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 326,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 354,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 390,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 416,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 326,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 354,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 390,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 416,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 273,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 274,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 275,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 276,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 277,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1485,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 43,
              "description": "Unused import: import {\n  Select,\n  SelectContent,\n  SelectGroup,\n  SelectItem,\n  SelectSeparator,\n  SelectTrigger,\n  SelectValue,\n} from \"@/registry/bases/base/ui/select\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'SelectSeparator' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Select,\n  SelectContent,\n  SelectGroup,\n  SelectItem,\n  SelectSeparator,\n  SelectTrigger,\n  SelectValue,\n} from \"@/registry/bases/base/ui/select\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 80.5,
        "function_length_stddev": 122.76,
        "import_count": 16,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 602,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.026578,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.36,
        "mechanical": 78.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\input-otp-example.tsx",
      "language": "tsx",
      "line_count": 293,
      "token_estimate": 2425,
      "functions": [
        {
          "name": "InputOTPExample",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "InputOTPSimple",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 57,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 61,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 62,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 63,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPPattern",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 78,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 79,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 81,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 82,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 83,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPWithSeparator",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 105,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 106,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 110,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 111,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 115,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 116,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 92,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPAlphanumeric",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 136,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 137,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 138,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 142,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 143,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPDisabled",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 159,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 160,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 161,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 165,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 166,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 167,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPFourDigits",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 183,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 184,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 185,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 186,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPInvalid",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 224,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 206,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 207,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 211,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 212,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 216,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 217,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 220,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 195,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPForm",
          "type": "function_declaration",
          "line_start": 226,
          "line_end": 292,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 67,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 226,
              "description": "Function is 67 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 67 lines (> 37 dynamic threshold)",
                "impact": "Function InputOTPForm is 67 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 258,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 259,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 260,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 264,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 265,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 266,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 28,
        "function_length_stddev": 15.8,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 293,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 50,
        "ai_smell_density": 0.170648,
        "structural_uniformity": 0.4359,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 69.6,
        "mechanical": 69.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\popover-example.tsx",
      "language": "tsx",
      "line_count": 200,
      "token_estimate": 1450,
      "functions": [
        {
          "name": "PopoverExample",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1225,
          "ai_signals": []
        },
        {
          "name": "PopoverBasic",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1225,
          "ai_signals": []
        },
        {
          "name": "PopoverSides",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 57,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function PopoverSides is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.21,
          "ai_signals": []
        },
        {
          "name": "PopoverWithForm",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1225,
          "ai_signals": []
        },
        {
          "name": "PopoverAlignments",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1225,
          "ai_signals": []
        },
        {
          "name": "PopoverInDialog",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 199,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1225,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 28.33,
        "function_length_stddev": 10.98,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 200,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.85,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005,
        "structural_uniformity": 0.6123,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.25,
        "mechanical": 93.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\sidebar-example.tsx",
      "language": "tsx",
      "line_count": 287,
      "token_estimate": 1970,
      "functions": [
        {
          "name": "SidebarExample",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 286,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 250,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 37,
              "description": "Function is 250 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 250 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarExample is 250 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 257,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 169,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.042,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 250,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 287,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.68,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.010453,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.39,
        "mechanical": 82.39,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\switch-example.tsx",
      "language": "tsx",
      "line_count": 102,
      "token_estimate": 673,
      "functions": [
        {
          "name": "SwitchExample",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "SwitchBasic",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "SwitchWithLabel",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "SwitchWithDescription",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "SwitchDisabled",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "SwitchSizes",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 13.67,
        "function_length_stddev": 4.08,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 102,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.74,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7013,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.9,
        "mechanical": 98.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\hooks\\use-mobile.ts",
      "language": "typescript",
      "line_count": 20,
      "token_estimate": 141,
      "functions": [
        {
          "name": "useIsMobile",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 8,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2333,
          "ai_signals": [
            "High anti-pattern density (0.67)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.85,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.05,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.0,
        "mechanical": 86.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 176,
      "token_estimate": 1015,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 77,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 156,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3281,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 11.75,
        "function_length_stddev": 5.33,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 176,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005682,
        "structural_uniformity": 0.5466,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.05,
        "mechanical": 98.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 246,
      "token_estimate": 2264,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 205,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 191,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 191 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 191 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 191 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 31,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 189,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 43,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0823,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 207,
          "line_end": 243,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 218,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 225,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 217,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 218,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.359,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 114,
        "function_length_stddev": 108.89,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 246,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.01,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.03252,
        "structural_uniformity": 0.0448,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 70.62,
        "mechanical": 70.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 286,
      "token_estimate": 1847,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 149,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 162,
          "line_end": 196,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 198,
          "line_end": 207,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 209,
          "line_end": 241,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 243,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 256,
          "line_end": 267,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0611,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 16.33,
        "function_length_stddev": 11.34,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 286,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3055,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.1,
        "mechanical": 98.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 150,
      "token_estimate": 895,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1401,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 56,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 56,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 59,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 59,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 59,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4901,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 83,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3151,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 106,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4582,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 116,
          "line_end": 127,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1401,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 129,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1401,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 14.83,
        "function_length_stddev": 4.45,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 150,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.52,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.046667,
        "structural_uniformity": 0.7003,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.88,
        "mechanical": 86.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 174,
      "token_estimate": 1354,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3021,
          "ai_signals": []
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1355,
          "ai_signals": []
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1355,
          "ai_signals": []
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1355,
          "ai_signals": []
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1355,
          "ai_signals": []
        },
        {
          "name": "NavigationMenuPositioner",
          "type": "function_declaration",
          "line_start": 103,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1355,
          "ai_signals": []
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1355,
          "ai_signals": []
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1355,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 18,
        "function_length_stddev": 5.81,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 174,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.27,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005747,
        "structural_uniformity": 0.6774,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.16,
        "mechanical": 96.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 141,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 102,
      "token_estimate": 498,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 9.62,
        "function_length_stddev": 1.19,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 102,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.51,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8766,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\dashboard-01\\components\\chart-area-interactive.tsx",
      "language": "tsx",
      "line_count": 292,
      "token_estimate": 2673,
      "functions": [
        {
          "name": "ChartAreaInteractive",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 291,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 149,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 143,
              "description": "Function is 149 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 149 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaInteractive is 149 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 243,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 258,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 261,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 145,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 147,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1409,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 149,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 292,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.72,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.020548,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.86,
        "mechanical": 79.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\dashboard-01\\page.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 355,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 33,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 17,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 17,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.073171,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.31,
        "mechanical": 76.31,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\login-04\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 84,
      "functions": [
        {
          "name": "LoginPage",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\contribution-history.tsx",
      "language": "tsx",
      "line_count": 114,
      "token_estimate": 843,
      "functions": [
        {
          "name": "ContributionHistory",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 70,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 44,
              "description": "Function is 70 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 70 lines (> 37 dynamic threshold)",
                "impact": "Function ContributionHistory is 70 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 67,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 70,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 114,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017544,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.61,
        "mechanical": 80.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\index-investing.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 278,
      "functions": [
        {
          "name": "IndexInvesting",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import { Button } from \"@/registry/bases/radix/ui/button\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Button' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Button } from \"@/registry/bases/radix/ui/button\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 2,
              "description": "Unused import: import {\n  Card,\n  CardAction,\n  CardContent,\n  CardDescription,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/radix/ui/card\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CardAction' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Card,\n  CardAction,\n  CardContent,\n  CardDescription,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/radix/ui/card\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 10,
              "description": "Unused import: import { IconPlaceholder } from \"@/app/(create)/components/icon-placeholder\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'IconPlaceholder' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { IconPlaceholder } from \"@/app/(create)/components/icon-placeholder\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 3
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\preferences.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 806,
      "functions": [
        {
          "name": "Preferences",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 74,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 30,
              "description": "Function is 74 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 74 lines (> 37 dynamic threshold)",
                "impact": "Function Preferences is 74 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0473,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 74,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009615,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.6,
        "mechanical": 82.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\sidebar-nav.tsx",
      "language": "tsx",
      "line_count": 238,
      "token_estimate": 2397,
      "functions": [
        {
          "name": "SidebarNav",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 237,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 220,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 220 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 220 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarNav is 220 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0354,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 220,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 238,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.17,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.004202,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.95,
        "mechanical": 83.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\analytics-card.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 493,
      "functions": [
        {
          "name": "AnalyticsCard",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function AnalyticsCard is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 62,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.175,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 2,
        "code_lines": 77,
        "comment_ratio": 0.0253,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.025974,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.51,
        "mechanical": 84.51,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\contributors.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 346,
      "functions": [
        {
          "name": "Contributors",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 49,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 50,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2414,
          "ai_signals": [
            "High anti-pattern density (0.69)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 65,
        "comment_ratio": 0.0152,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.01,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.030769,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.61,
        "mechanical": 86.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\live-waveform.tsx",
      "language": "tsx",
      "line_count": 557,
      "token_estimate": 4525,
      "functions": [
        {
          "name": "LiveWaveform",
          "type": "arrow_function",
          "line_start": 17,
          "line_end": 489,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 473,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 4,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 473 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 473 lines (> 37 dynamic threshold)",
                "impact": "Function LiveWaveform is 473 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 259,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 259,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 271,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 259,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 259,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 271,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 115,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 80,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 103,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 219,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 304,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1555,
          "ai_signals": []
        },
        {
          "name": "LiveWaveformCard",
          "type": "function_declaration",
          "line_start": 491,
          "line_end": 556,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 66,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 2,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 491,
              "description": "Function is 66 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 66 lines (> 37 dynamic threshold)",
                "impact": "Function LiveWaveformCard is 66 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 519,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 492,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 493,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2788,
          "ai_signals": [
            "High anti-pattern density (0.61)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 269.5,
        "function_length_stddev": 287.79,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 3,
        "code_lines": 554,
        "comment_ratio": 0.0054,
        "comment_what_ratio": 0.3333,
        "naming_avg_length": 8.29,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.028881,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 65.28,
        "mechanical": 65.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\skeleton-loading.tsx",
      "language": "tsx",
      "line_count": 30,
      "token_estimate": 229,
      "functions": [
        {
          "name": "SkeletonLoading",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 30,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.97,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\index.tsx",
      "language": "tsx",
      "line_count": 98,
      "token_estimate": 1371,
      "functions": [
        {
          "name": "PreviewExample",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 35,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function PreviewExample is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0556,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 31,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 98,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.79,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010204,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.45,
        "mechanical": 82.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-02\\page.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 411,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 42,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.04,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.019231,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.69,
        "mechanical": 87.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-06\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 189,
      "token_estimate": 1029,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 150,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 150,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 178,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1795,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 188,
        "comment_ratio": 0.0053,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.81,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.010638,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.64,
        "mechanical": 88.64,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-07\\components\\team-switcher.tsx",
      "language": "tsx",
      "line_count": 106,
      "token_estimate": 855,
      "functions": [
        {
          "name": "TeamSwitcher",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 84,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 84 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 84 lines (> 37 dynamic threshold)",
                "impact": "Function TeamSwitcher is 84 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 32,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 84,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 106,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.83,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.018868,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.28,
        "mechanical": 72.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-09\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 310,
      "token_estimate": 2539,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 186,
          "line_end": 309,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 124,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 186,
              "description": "Function is 124 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 124 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 124 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 265,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-array-mutation-in-render",
              "severity": "high",
              "line": 243,
              "description": "Array.prototype methods that mutate (sort, splice, reverse) called in render - mutates props/state, causes bugs across renders",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 275,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 189,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 190,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1976,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 124,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 3,
        "code_lines": 307,
        "comment_ratio": 0.0097,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.42,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.022801,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.3,
        "mechanical": 79.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-10\\components\\nav-workspaces.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 835,
      "functions": [
        {
          "name": "NavWorkspaces",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 83,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 83 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 83 lines (> 37 dynamic threshold)",
                "impact": "Function NavWorkspaces is 83 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0422,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 83,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.88,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009524,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.62,
        "mechanical": 82.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-12\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 144,
      "token_estimate": 1208,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 72,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0882,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 144,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.8,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.54,
        "mechanical": 78.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-15\\components\\nav-favorites.tsx",
      "language": "tsx",
      "line_count": 131,
      "token_estimate": 1083,
      "functions": [
        {
          "name": "NavFavorites",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 110,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 110 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 110 lines (> 37 dynamic threshold)",
                "impact": "Function NavFavorites is 110 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 39,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0636,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 110,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 131,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.37,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.015267,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.18,
        "mechanical": 81.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-15\\page.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 403,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.39,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-16\\page.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 302,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.08,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\signup-04\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 86,
      "functions": [
        {
          "name": "SignupPage",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.53,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\alert-example.tsx",
      "language": "tsx",
      "line_count": 317,
      "token_estimate": 2587,
      "functions": [
        {
          "name": "AlertExample",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "AlertExample1",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0642,
          "ai_signals": []
        },
        {
          "name": "AlertExample2",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 169,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 97,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 73,
              "description": "Function is 97 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 97 lines (> 37 dynamic threshold)",
                "impact": "Function AlertExample2 is 97 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1003,
          "ai_signals": []
        },
        {
          "name": "AlertExample3",
          "type": "function_declaration",
          "line_start": 171,
          "line_end": 212,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 171,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function AlertExample3 is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1476,
          "ai_signals": []
        },
        {
          "name": "AlertExample4",
          "type": "function_declaration",
          "line_start": 214,
          "line_end": 251,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 214,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function AlertExample4 is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1563,
          "ai_signals": []
        },
        {
          "name": "AlertExample5",
          "type": "function_declaration",
          "line_start": 253,
          "line_end": 316,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 64,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 253,
              "description": "Function is 64 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 64 lines (> 37 dynamic threshold)",
                "impact": "Function AlertExample5 is 64 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1189,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 45.67,
        "function_length_stddev": 31.0,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 317,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.78,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.012618,
        "structural_uniformity": 0.3211,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.14,
        "mechanical": 86.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\card-example.tsx",
      "language": "tsx",
      "line_count": 368,
      "token_estimate": 2817,
      "functions": [
        {
          "name": "CardExample",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "CardLogin",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function CardLogin is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1596,
          "ai_signals": []
        },
        {
          "name": "CardMeetingNotes",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 101,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function CardMeetingNotes is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 140,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 145,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 152,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.63)"
          ]
        },
        {
          "name": "CardWithImage",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 198,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 170,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1989,
          "ai_signals": []
        },
        {
          "name": "CardWithImageSmall",
          "type": "function_declaration",
          "line_start": 200,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 205,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1989,
          "ai_signals": []
        },
        {
          "name": "CardHeaderWithBorder",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "CardFooterWithBorder",
          "type": "function_declaration",
          "line_start": 256,
          "line_end": 274,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "CardDefault",
          "type": "function_declaration",
          "line_start": 276,
          "line_end": 300,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "CardSmall",
          "type": "function_declaration",
          "line_start": 302,
          "line_end": 326,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "CardHeaderWithBorderSmall",
          "type": "function_declaration",
          "line_start": 328,
          "line_end": 347,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "CardFooterWithBorderSmall",
          "type": "function_declaration",
          "line_start": 349,
          "line_end": 367,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.096,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import Image from \"next/image\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Image' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import Image from \"next/image\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 11,
        "avg_function_length": 30,
        "function_length_stddev": 15.6,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 368,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.02,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.019022,
        "structural_uniformity": 0.48,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.24,
        "mechanical": 89.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\context-menu-example.tsx",
      "language": "tsx",
      "line_count": 636,
      "token_estimate": 5437,
      "functions": [
        {
          "name": "ContextMenuExample",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1218,
          "ai_signals": []
        },
        {
          "name": "ContextMenuBasic",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1218,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithIcons",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 73,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuWithIcons is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1822,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithShortcuts",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 169,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 132,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuWithShortcuts is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2139,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithSubmenu",
          "type": "function_declaration",
          "line_start": 171,
          "line_end": 211,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 171,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuWithSubmenu is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2072,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithGroups",
          "type": "function_declaration",
          "line_start": 213,
          "line_end": 272,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 213,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuWithGroups is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1801,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithCheckboxes",
          "type": "function_declaration",
          "line_start": 274,
          "line_end": 310,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 275,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 276,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 277,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4056,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "ContextMenuWithRadio",
          "type": "function_declaration",
          "line_start": 312,
          "line_end": 347,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 313,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 314,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3163,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "ContextMenuWithDestructive",
          "type": "function_declaration",
          "line_start": 349,
          "line_end": 406,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 349,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuWithDestructive is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1822,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithSides",
          "type": "function_declaration",
          "line_start": 408,
          "line_end": 463,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 408,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuWithSides is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1843,
          "ai_signals": []
        },
        {
          "name": "ContextMenuInDialog",
          "type": "function_declaration",
          "line_start": 465,
          "line_end": 550,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 86,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 465,
              "description": "Function is 86 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 86 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuInDialog is 86 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1625,
          "ai_signals": []
        },
        {
          "name": "ContextMenuWithInset",
          "type": "function_declaration",
          "line_start": 552,
          "line_end": 635,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 84,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 552,
              "description": "Function is 84 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 84 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuWithInset is 84 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 553,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 554,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 555,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2885,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 49.08,
        "function_length_stddev": 22.17,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 636,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.73,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.025157,
        "structural_uniformity": 0.5482,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.99,
        "mechanical": 81.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\input-example.tsx",
      "language": "tsx",
      "line_count": 269,
      "token_estimate": 1845,
      "functions": [
        {
          "name": "InputExample",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputBasic",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputInvalid",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputWithLabel",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputWithDescription",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputDisabled",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputTypes",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 52,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 108,
              "description": "Function is 52 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 52 lines (> 37 dynamic threshold)",
                "impact": "Function InputTypes is 52 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0992,
          "ai_signals": []
        },
        {
          "name": "InputWithSelect",
          "type": "function_declaration",
          "line_start": 161,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputWithButton",
          "type": "function_declaration",
          "line_start": 183,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputWithNativeSelect",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 207,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0319,
          "ai_signals": []
        },
        {
          "name": "InputForm",
          "type": "function_declaration",
          "line_start": 209,
          "line_end": 268,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 209,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function InputForm is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0902,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 11,
        "avg_function_length": 21.18,
        "function_length_stddev": 17.8,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 269,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.92,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.007435,
        "structural_uniformity": 0.1595,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.79,
        "mechanical": 94.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\navigation-menu-example.tsx",
      "language": "tsx",
      "line_count": 259,
      "token_estimate": 2289,
      "functions": [
        {
          "name": "NavigationMenuExample",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "NavigationMenuWithViewport",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 68,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function NavigationMenuWithViewport is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 110,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        },
        {
          "name": "NavigationMenuWithoutViewport",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 120,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 120 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 120 lines (> 37 dynamic threshold)",
                "impact": "Function NavigationMenuWithoutViewport is 120 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 129,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 138,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 148,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 158,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 177,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 180,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 183,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 195,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 207,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 219,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3208,
          "ai_signals": [
            "High anti-pattern density (0.92)"
          ]
        },
        {
          "name": "ListItem",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 258,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 249,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1842,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 49.25,
        "function_length_stddev": 50.41,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 259,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.37,
        "debug_artifacts": [],
        "ai_smell_count": 14,
        "ai_smell_density": 0.054054,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.71,
        "mechanical": 74.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\separator-example.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 744,
      "functions": [
        {
          "name": "SeparatorExample",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1276,
          "ai_signals": []
        },
        {
          "name": "SeparatorHorizontal",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1276,
          "ai_signals": []
        },
        {
          "name": "SeparatorVertical",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1276,
          "ai_signals": []
        },
        {
          "name": "SeparatorVerticalMenu",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1276,
          "ai_signals": []
        },
        {
          "name": "SeparatorInList",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1276,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 18,
        "function_length_stddev": 6.52,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6378,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\sonner-example.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 261,
      "functions": [
        {
          "name": "SonnerExample",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1288,
          "ai_signals": []
        },
        {
          "name": "SonnerBasic",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1288,
          "ai_signals": []
        },
        {
          "name": "SonnerWithDescription",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1288,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 12.67,
        "function_length_stddev": 4.51,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.644,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.2,
        "mechanical": 99.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\tooltip-example.tsx",
      "language": "tsx",
      "line_count": 193,
      "token_estimate": 1202,
      "functions": [
        {
          "name": "TooltipExample",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1695,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TooltipBasic",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1695,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TooltipSides",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1695,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TooltipWithIcon",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1695,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TooltipLongContent",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1695,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TooltipDisabled",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1695,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TooltipWithKeyboard",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 151,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1695,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TooltipOnLink",
          "type": "function_declaration",
          "line_start": 153,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1695,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TooltipFormatted",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1695,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 18.78,
        "function_length_stddev": 2.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 193,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.72,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8476,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.37,
        "mechanical": 97.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\_registry.ts",
      "language": "typescript",
      "line_count": 1024,
      "token_estimate": 6809,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 1024,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 539,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3607,
          "ai_signals": [
            "High anti-pattern density (0.53)",
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 17,
        "function_length_stddev": 2.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011905,
        "structural_uniformity": 0.8824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.09,
        "mechanical": 94.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 326,
      "token_estimate": 2062,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 79,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 96,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 103,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 140,
          "line_end": 151,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 153,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 184,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 205,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 207,
          "line_end": 211,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 213,
          "line_end": 221,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 223,
          "line_end": 234,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 236,
          "line_end": 248,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 250,
          "line_end": 286,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 288,
          "line_end": 302,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 304,
          "line_end": 306,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0622,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 17.12,
        "function_length_stddev": 11.8,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 326,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.98,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009202,
        "structural_uniformity": 0.3108,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.09,
        "mechanical": 95.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 228,
      "token_estimate": 1355,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 138,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0653,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 214,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 165,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 173,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 178,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 183,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 186,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 187,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 171,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4153,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18,
        "function_length_stddev": 12.12,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 228,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.15,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.035088,
        "structural_uniformity": 0.3267,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.03,
        "mechanical": 88.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 295,
      "token_estimate": 1813,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 147,
          "line_end": 179,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 181,
          "line_end": 196,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 198,
          "line_end": 209,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 211,
          "line_end": 222,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 224,
          "line_end": 228,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 230,
          "line_end": 259,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 261,
          "line_end": 275,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0711,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.75,
        "function_length_stddev": 10.15,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 295,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.77,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3556,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.28,
        "mechanical": 98.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 394,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 133,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.47,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\config.test.ts",
      "language": "typescript",
      "line_count": 86,
      "token_estimate": 639,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 0,
        "comment_lines": 0,
        "code_lines": 86,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\icons\\create-icon-loader.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 314,
      "functions": [
        {
          "name": "getCache",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 6,
            "any_count": 0,
            "non_null_assertions": 1,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "isIconData",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 1,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "any-type-usage",
              "severity": "medium",
              "line": 16,
              "description": "Explicit 'any' type \u2014 defeats type safety",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "ast-walk",
                "proof": "Explicit 'any' type -- defeats type safety",
                "impact": "Explicit 'any' type at line 16 defeats TypeScript's type safety",
                "recommendation": "Replace 'any' with a specific type, unknown, or a generic parameter",
                "confidence": 1.0,
                "fix_type": "cataloged_refactor",
                "references": [
                  "https://typescript-eslint.io/rules/no-explicit-any/"
                ]
              }
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "createIconLoader",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 45,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 49,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 32,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 32,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 2,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.67,
        "function_length_stddev": 15.95,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 51,
        "comment_ratio": 0.0192,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.12,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.098039,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.01,
        "mechanical": 73.01,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\dashboard-01\\components\\chart-area-interactive.tsx",
      "language": "tsx",
      "line_count": 292,
      "token_estimate": 2673,
      "functions": [
        {
          "name": "ChartAreaInteractive",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 291,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 149,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 143,
              "description": "Function is 149 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 149 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaInteractive is 149 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 243,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 258,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 261,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 145,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 147,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1409,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 149,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 292,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.020548,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.86,
        "mechanical": 79.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\dashboard-01\\page.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 355,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 33,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 17,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 17,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.073171,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.31,
        "mechanical": 76.31,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\login-04\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 84,
      "functions": [
        {
          "name": "LoginPage",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-02\\components\\search-form.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 205,
      "functions": [
        {
          "name": "SearchForm",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-05\\components\\search-form.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 205,
      "functions": [
        {
          "name": "SearchForm",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-07\\components\\nav-projects.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 630,
      "functions": [
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 62,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 62 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 62 lines (> 37 dynamic threshold)",
                "impact": "Function NavProjects is 62 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 46,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 62,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.91,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.44,
        "mechanical": 79.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-08\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 858,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.128,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 82,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.1,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.026087,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.23,
        "mechanical": 77.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-10\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 171,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 26,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.027778,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.56,
        "mechanical": 88.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-12\\components\\calendars.tsx",
      "language": "tsx",
      "line_count": 72,
      "token_estimate": 615,
      "functions": [
        {
          "name": "Calendars",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function Calendars is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 28,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1321,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 72,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.95,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.027778,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.16,
        "mechanical": 80.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-15\\components\\calendars.tsx",
      "language": "tsx",
      "line_count": 72,
      "token_estimate": 615,
      "functions": [
        {
          "name": "Calendars",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function Calendars is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 28,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1321,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 72,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.95,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.027778,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.16,
        "mechanical": 80.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-15\\components\\sidebar-right.tsx",
      "language": "tsx",
      "line_count": 72,
      "token_estimate": 440,
      "functions": [
        {
          "name": "SidebarRight",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 52,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 57,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2333,
          "ai_signals": [
            "High anti-pattern density (0.67)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 7,
              "description": "Unused import: import {\n  Sidebar,\n  SidebarContent,\n  SidebarFooter,\n  SidebarHeader,\n  SidebarMenu,\n  SidebarMenuButton,\n  SidebarMenuItem,\n  SidebarRail,\n  SidebarSeparator,\n} from \"@/registry/new-york-v4/ui/sidebar\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'SidebarRail' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Sidebar,\n  SidebarContent,\n  SidebarFooter,\n  SidebarHeader,\n  SidebarMenu,\n  SidebarMenuButton,\n  SidebarMenuItem,\n  SidebarRail,\n  SidebarSeparator,\n} from \"@/registry/new-york-v4/ui/sidebar\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 71,
        "comment_ratio": 0.0139,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.67,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.028169,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.96,
        "mechanical": 86.96,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-16\\components\\search-form.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 167,
      "functions": [
        {
          "name": "SearchForm",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\signup-03\\page.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 176,
      "functions": [
        {
          "name": "SignupPage",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-area-gradient.tsx",
      "language": "tsx",
      "line_count": 131,
      "token_estimate": 931,
      "functions": [
        {
          "name": "ChartAreaGradient",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 88,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 88 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 88 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaGradient is 88 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 62,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1193,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 88,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 131,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.022901,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.27,
        "mechanical": 79.27,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-bar-active.tsx",
      "language": "tsx",
      "line_count": 116,
      "token_estimate": 786,
      "functions": [
        {
          "name": "ChartBarActive",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 60,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function ChartBarActive is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 90,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 98,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 77,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 77,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 77,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 56,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 116,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.13,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.068966,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.96,
        "mechanical": 68.96,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-bar-negative.tsx",
      "language": "tsx",
      "line_count": 76,
      "token_estimate": 530,
      "functions": [
        {
          "name": "ChartBarNegative",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 38,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function ChartBarNegative is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 48,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 49,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 76,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.052632,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.44,
        "mechanical": 78.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-line-label.tsx",
      "language": "tsx",
      "line_count": 106,
      "token_estimate": 698,
      "functions": [
        {
          "name": "ChartLineLabel",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLineLabel is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 61,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 69,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1667,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 106,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.028302,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.92,
        "mechanical": 77.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-pie-label-custom.tsx",
      "language": "tsx",
      "line_count": 108,
      "token_estimate": 729,
      "functions": [
        {
          "name": "ChartPieLabelCustom",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 57,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function ChartPieLabelCustom is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2059,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 51,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 108,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.8,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.027778,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.76,
        "mechanical": 80.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-dots.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 530,
      "functions": [
        {
          "name": "ChartRadarDots",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarDots is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1707,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 80,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.025,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.45,
        "mechanical": 84.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-label-custom.tsx",
      "language": "tsx",
      "line_count": 122,
      "token_estimate": 869,
      "functions": [
        {
          "name": "ChartRadarLabelCustom",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 79,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 79 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 79 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarLabelCustom is 79 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0886,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 79,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 122,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.016393,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.9,
        "mechanical": 80.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radial-simple.tsx",
      "language": "tsx",
      "line_count": 89,
      "token_estimate": 593,
      "functions": [
        {
          "name": "ChartRadialSimple",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1094,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 89,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011236,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.59,
        "mechanical": 90.59,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-tooltip-indicator-none.tsx",
      "language": "tsx",
      "line_count": 85,
      "token_estimate": 548,
      "functions": [
        {
          "name": "ChartTooltipIndicatorNone",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 41,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipIndicatorNone is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1591,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 85,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.85,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.023529,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.92,
        "mechanical": 83.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\alert-dialog-demo.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 270,
      "functions": [
        {
          "name": "AlertDialogDemo",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.014,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.84,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\breadcrumb-dropdown.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 396,
      "functions": [
        {
          "name": "BreadcrumbWithDropdown",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 25,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1118,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.71,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.018519,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.87,
        "mechanical": 87.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-destructive.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 41,
      "functions": [
        {
          "name": "ButtonDestructive",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-group-popover.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 392,
      "functions": [
        {
          "name": "ButtonGroupPopover",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-outline.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 38,
      "functions": [
        {
          "name": "ButtonOutline",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\card-with-form.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 472,
      "functions": [
        {
          "name": "CardWithForm",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CardWithForm is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0921,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.43,
        "mechanical": 87.43,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\chart-bar-demo-grid.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 264,
      "functions": [
        {
          "name": "Component",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 34,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.6,
        "mechanical": 93.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\collapsible-demo.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 342,
      "functions": [
        {
          "name": "CollapsibleDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 14,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1029,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.021277,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.48,
        "mechanical": 87.48,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\data-table-demo.tsx",
      "language": "tsx",
      "line_count": 313,
      "token_estimate": 2180,
      "functions": [
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 82,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 83,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 92,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 93,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 105,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 111,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 122,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 126,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 127,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 142,
          "line_end": 166,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DataTableDemo",
          "type": "function_declaration",
          "line_start": 170,
          "line_end": 312,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 143,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 170,
              "description": "Function is 143 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 143 lines (> 37 dynamic threshold)",
                "impact": "Function DataTableDemo is 143 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 203,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 203,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 203,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 257,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 177,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1713,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 23.56,
        "function_length_stddev": 45.39,
        "import_count": 8,
        "export_count": 3,
        "comment_lines": 1,
        "code_lines": 312,
        "comment_ratio": 0.0032,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.04,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.028846,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.61,
        "mechanical": 87.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\dropdown-menu-checkboxes.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 405,
      "functions": [
        {
          "name": "DropdownMenuCheckboxes",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0288,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.73,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\empty-icon.tsx",
      "language": "tsx",
      "line_count": 69,
      "token_estimate": 413,
      "functions": [
        {
          "name": "EmptyIcon",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 16,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function EmptyIcon is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.066,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 69,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.88,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014493,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.48,
        "mechanical": 83.48,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\field-input.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 236,
      "functions": [
        {
          "name": "FieldInput",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.61,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-next-complex-schema.ts",
      "language": "typescript",
      "line_count": 53,
      "token_estimate": 330,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-rhf-demo.tsx",
      "language": "tsx",
      "line_count": 151,
      "token_estimate": 1178,
      "functions": [
        {
          "name": "BugReportForm",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 107,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 44,
              "description": "Function is 107 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 107 lines (> 37 dynamic threshold)",
                "impact": "Function BugReportForm is 107 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 97,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 130,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 89,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 111,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 64,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 64,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.229,
          "ai_signals": [
            "High anti-pattern density (0.65)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 107,
        "function_length_stddev": 0.0,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 151,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.85,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.046358,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.41,
        "mechanical": 73.41,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-tanstack-checkbox.tsx",
      "language": "tsx",
      "line_count": 211,
      "token_estimate": 1720,
      "functions": [
        {
          "name": "FormTanstackCheckbox",
          "type": "function_declaration",
          "line_start": 53,
          "line_end": 210,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 158,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 53,
              "description": "Function is 158 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 158 lines (> 37 dynamic threshold)",
                "impact": "Function FormTanstackCheckbox is 158 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 132,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 160,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 189,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 57,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 73,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 57,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 73,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1772,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 158,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 210,
        "comment_ratio": 0.0047,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.038095,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.48,
        "mechanical": 75.48,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\hover-card-demo.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 287,
      "functions": [
        {
          "name": "HoverCardDemo",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 24,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1346,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import { CalendarIcon } from \"lucide-react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CalendarIcon' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { CalendarIcon } from \"lucide-react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.22,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.1,
        "mechanical": 89.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-group-dropdown.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 510,
      "functions": [
        {
          "name": "InputGroupDropdown",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 16,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupDropdown is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0795,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.96,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.63,
        "mechanical": 85.63,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-otp-demo.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 138,
      "functions": [
        {
          "name": "InputOTPDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 12,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 13,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 14,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 19,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 20,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.59,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.24,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.9,
        "mechanical": 72.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\item-dropdown.tsx",
      "language": "tsx",
      "line_count": 74,
      "token_estimate": 515,
      "functions": [
        {
          "name": "ItemDropdown",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 74,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.45,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013514,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.32,
        "mechanical": 90.32,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\kbd-button.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 110,
      "functions": [
        {
          "name": "KbdButton",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\native-select-demo.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 138,
      "functions": [
        {
          "name": "NativeSelectDemo",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0103,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\radio-group-demo.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 185,
      "functions": [
        {
          "name": "RadioGroupDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\select-scrollable.tsx",
      "language": "tsx",
      "line_count": 76,
      "token_estimate": 771,
      "functions": [
        {
          "name": "SelectScrollable",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function SelectScrollable is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0556,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 76,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013158,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.71,
        "mechanical": 81.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\sonner-types.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 364,
      "functions": [
        {
          "name": "SonnerTypes",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 7,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function SonnerTypes is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0636,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 55,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.63,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016129,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.47,
        "mechanical": 82.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\spinner-input-group.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 245,
      "functions": [
        {
          "name": "SpinnerInputGroup",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.27,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\textarea-with-button.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 82,
      "functions": [
        {
          "name": "TextareaWithButton",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\toggle-group-outline.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 170,
      "functions": [
        {
          "name": "ToggleGroupDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\tooltip-demo.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 106,
      "functions": [
        {
          "name": "TooltipDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.28,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-large.tsx",
      "language": "tsx",
      "line_count": 4,
      "token_estimate": 31,
      "functions": [
        {
          "name": "TypographyLarge",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 3,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 4,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\hooks\\use-mobile.ts",
      "language": "typescript",
      "line_count": 20,
      "token_estimate": 141,
      "functions": [
        {
          "name": "useIsMobile",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 8,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2333,
          "ai_signals": [
            "High anti-pattern density (0.67)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.85,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.05,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.0,
        "mechanical": 86.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\sidebar-header.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 404,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\lib\\utils.ts",
      "language": "typescript",
      "line_count": 7,
      "token_estimate": 41,
      "functions": [
        {
          "name": "cn",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 6,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 7,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 49,
      "token_estimate": 444,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 49,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.1,
        "mechanical": 95.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 303,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 258,
      "token_estimate": 2104,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 122,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 164,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 177,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 179,
          "line_end": 193,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 195,
          "line_end": 199,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 201,
          "line_end": 223,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 225,
          "line_end": 239,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1028,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 14.47,
        "function_length_stddev": 7.03,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 258,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5141,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.66,
        "mechanical": 98.66,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 194,
      "token_estimate": 1124,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 169,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.6,
        "function_length_stddev": 2.67,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 194,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7877,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.97,
        "mechanical": 98.97,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 183,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.15,
        "mechanical": 95.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 69,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 579,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 44,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 37,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 37,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5454,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.98)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1954,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.98)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 30.5,
        "function_length_stddev": 0.71,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.035714,
        "structural_uniformity": 0.9768,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.92,
        "mechanical": 79.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 188,
      "token_estimate": 1316,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 157,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 168,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3312,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 12.75,
        "function_length_stddev": 5.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 188,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005319,
        "structural_uniformity": 0.5625,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 232,
      "token_estimate": 2102,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1584,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 229,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 211,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3668,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105,
        "function_length_stddev": 96.17,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 232,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.047414,
        "structural_uniformity": 0.0841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.9,
        "mechanical": 66.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2049,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 199,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 9.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3804,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 156,
      "token_estimate": 1300,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 56,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 56,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 59,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 59,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 59,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5005,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 83,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3255,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 106,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4687,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 116,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.83,
        "function_length_stddev": 3.92,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 156,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.85,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044872,
        "structural_uniformity": 0.7524,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.03,
        "mechanical": 87.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 172,
      "token_estimate": 1886,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3106,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuPositioner",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 127,
          "line_end": 141,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.75,
        "function_length_stddev": 4.98,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 172,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.99,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005814,
        "structural_uniformity": 0.7195,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.22,
        "mechanical": 96.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 136,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 535,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1774,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1774,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1774,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1774,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.25,
        "function_length_stddev": 1.5,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 80,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8868,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.03,
        "mechanical": 99.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 658,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.86,
        "function_length_stddev": 2.67,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.53,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7746,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.44,
        "mechanical": 99.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 157,
      "token_estimate": 1002,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function DialogContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0987,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 127,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 129,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.5,
        "function_length_stddev": 11.94,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 157,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006369,
        "structural_uniformity": 0.045,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.2,
        "mechanical": 97.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 635,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.37,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 134,
      "token_estimate": 729,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 52,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4147,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.57,
        "function_length_stddev": 6.53,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 134,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.552,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.18,
        "mechanical": 94.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 138,
      "token_estimate": 1113,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.8,
        "function_length_stddev": 11.68,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 138,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007246,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.72,
        "mechanical": 97.72,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 860,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 3.4,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7525,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 100,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 12,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 12,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.086957,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.86,
        "mechanical": 75.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1419,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.01,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 7,
      "token_estimate": 25,
      "functions": [
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 7,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 245,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 8,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.96,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.2,
        "mechanical": 87.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 648,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 10,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.5,
        "function_length_stddev": 11.13,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0321,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 727,
      "token_estimate": 5448,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 134,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 134,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 108,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 70,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 74,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 76,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 86,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 92,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 97,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3545,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 252,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 152,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 192,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 192,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1084,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 254,
          "line_end": 278,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 280,
          "line_end": 303,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 284,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1503,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 305,
          "line_end": 316,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 318,
          "line_end": 330,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 332,
          "line_end": 344,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 346,
          "line_end": 355,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 357,
          "line_end": 369,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 371,
          "line_end": 383,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 385,
          "line_end": 394,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 396,
          "line_end": 418,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 420,
          "line_end": 442,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 444,
          "line_end": 456,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 458,
          "line_end": 467,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 469,
          "line_end": 478,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 502,
          "line_end": 554,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 502,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 524,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1365,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 556,
          "line_end": 584,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 586,
          "line_end": 601,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 603,
          "line_end": 639,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 632,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 632,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 611,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2882,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 641,
          "line_end": 653,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 655,
          "line_end": 667,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 669,
          "line_end": 699,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 25.33,
        "function_length_stddev": 24.77,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 718,
        "comment_ratio": 0.0124,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.53,
        "debug_artifacts": [],
        "ai_smell_count": 19,
        "ai_smell_density": 0.026462,
        "structural_uniformity": 0.0223,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.74,
        "mechanical": 86.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 198,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 110,
      "token_estimate": 761,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 14.67,
        "function_length_stddev": 2.58,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 110,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.81,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.6,
        "mechanical": 98.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2627,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1036,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.5,
        "function_length_stddev": 5.78,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4497,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 202,
      "token_estimate": 1215,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 164,
          "line_end": 175,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 177,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.2,
        "function_length_stddev": 3.68,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 202,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.12,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7215,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.04,
        "mechanical": 99.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 438,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressTrack",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 30,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ProgressIndicator",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressLabel",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4866,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ProgressValue",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 13,
        "function_length_stddev": 4.12,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.72,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.035714,
        "structural_uniformity": 0.6828,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.17,
        "mechanical": 90.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 68,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 797,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 50,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 43,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 43,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4735,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.87)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1735,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32,
        "function_length_stddev": 4.24,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8674,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.07,
        "mechanical": 80.07,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\badge.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 481,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.43,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\checkbox.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 337,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2214,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 187,
          "line_end": 194,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 196,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 11.36,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2657,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 209,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\radio-group.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 418,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 14,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4949,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 501,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.18,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\toggle.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 440,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.86,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 123,
      "token_estimate": 646,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 75,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.14,
        "function_length_stddev": 4.45,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 123,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.4,
        "mechanical": 98.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 164,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 4.33,
        "function_length_stddev": 1.15,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7335,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 129,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 417,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 711,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 16.07,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 624,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 18,
        "function_length_stddev": 3.61,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7997,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 301,
      "token_estimate": 2285,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.376,
          "ai_signals": [
            "High anti-pattern density (0.88)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 163,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 186,
          "line_end": 190,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 205,
          "line_end": 216,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 218,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 264,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 266,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 281,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.56,
        "function_length_stddev": 10.33,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 301,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009967,
        "structural_uniformity": 0.336,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.37,
        "mechanical": 95.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1509,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 285,
      "token_estimate": 2067,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 194,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 196,
          "line_end": 207,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 209,
          "line_end": 223,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 225,
          "line_end": 229,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 231,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 251,
          "line_end": 265,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 14.12,
        "function_length_stddev": 8.06,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 285,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4296,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.76,
        "mechanical": 98.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 406,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 677,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1254,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1254,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1254,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1254,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 19.25,
        "function_length_stddev": 7.18,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6269,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.22,
        "mechanical": 97.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 735,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.9,
        "mechanical": 93.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 193,
      "token_estimate": 1226,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 117,
          "line_end": 131,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 133,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 164,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.33,
        "function_length_stddev": 6.02,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 193,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.31,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6526,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.8,
        "mechanical": 97.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 385,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 11,
        "function_length_stddev": 8.72,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2075,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 475,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.56,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 199,
      "token_estimate": 1686,
      "functions": [
        {
          "name": "Select",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 169,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0849,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 16.8,
        "function_length_stddev": 9.67,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 199,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4244,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.51,
        "mechanical": 97.51,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 412,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 200,
      "token_estimate": 1402,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 148,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 150,
          "line_end": 166,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 168,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 13.75,
        "function_length_stddev": 4.92,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 200,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6422,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 233,
      "token_estimate": 2098,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1607,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 230,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 193,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarDayButton is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 208,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 212,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.369,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105.5,
        "function_length_stddev": 95.46,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 233,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 13,
        "ai_smell_density": 0.055794,
        "structural_uniformity": 0.0952,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 64.8,
        "mechanical": 64.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 268,
      "token_estimate": 2096,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 200,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 202,
          "line_end": 220,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 222,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.13,
        "function_length_stddev": 7.82,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 268,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4834,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.46,
        "mechanical": 98.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 156,
      "token_estimate": 1290,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 58,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 58,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 61,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.504,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3485,
          "ai_signals": [
            "High anti-pattern density (0.56)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 106,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4722,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 116,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.5,
        "function_length_stddev": 3.56,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 156,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.92,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044872,
        "structural_uniformity": 0.7701,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.13,
        "mechanical": 87.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 168,
      "token_estimate": 1638,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuViewport",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.12,
        "function_length_stddev": 3.64,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 168,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7873,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.55,
        "mechanical": 97.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 161,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 516,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 633,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.43,
        "function_length_stddev": 2.88,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.63,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7481,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.57,
        "mechanical": 99.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 168,
      "token_estimate": 1045,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 140,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.6,
        "function_length_stddev": 10.43,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 168,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2333,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.47,
        "mechanical": 98.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 636,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 133,
      "token_estimate": 719,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2715,
          "ai_signals": []
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.43,
        "function_length_stddev": 6.32,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 133,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007519,
        "structural_uniformity": 0.5619,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.08,
        "mechanical": 96.08,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 147,
      "token_estimate": 1140,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 48,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1103,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 11.7,
        "function_length_stddev": 10.5,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 147,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006803,
        "structural_uniformity": 0.1026,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.56,
        "mechanical": 97.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 888,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 77,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 15.5,
        "function_length_stddev": 2.65,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8293,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.35,
        "mechanical": 98.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 68,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1420,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.01,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 126,
      "functions": [
        {
          "name": "DirectionProvider",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 233,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 7,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-form-missing-labels",
              "severity": "high",
              "line": 7,
              "description": "Form input without associated label - screen readers cannot identify what the input is for",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.85,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.1,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.1,
        "mechanical": 74.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 598,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverAnchor",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 9.43,
        "function_length_stddev": 5.77,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3881,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 709,
      "token_estimate": 5360,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 133,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 133,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 107,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 69,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 73,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 75,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 85,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 91,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3507,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 251,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 151,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 191,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 191,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1046,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 253,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 302,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 283,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1465,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 304,
          "line_end": 315,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 317,
          "line_end": 332,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 334,
          "line_end": 343,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 345,
          "line_end": 354,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 356,
          "line_end": 368,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 370,
          "line_end": 382,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 384,
          "line_end": 396,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 398,
          "line_end": 416,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 418,
          "line_end": 436,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 438,
          "line_end": 450,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 452,
          "line_end": 461,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 463,
          "line_end": 472,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 496,
          "line_end": 544,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 496,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0721,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 546,
          "line_end": 570,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 572,
          "line_end": 587,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 589,
          "line_end": 625,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 618,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 618,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 597,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2845,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 627,
          "line_end": 639,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 641,
          "line_end": 653,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 655,
          "line_end": 681,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0007,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 24.62,
        "function_length_stddev": 24.54,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 700,
        "comment_ratio": 0.0127,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 18,
        "ai_smell_density": 0.025714,
        "structural_uniformity": 0.0034,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.73,
        "mechanical": 86.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 202,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\avatar.tsx",
      "language": "tsx",
      "line_count": 113,
      "token_estimate": 774,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.17,
        "function_length_stddev": 2.23,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 113,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8531,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.45,
        "mechanical": 98.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2625,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\drawer.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1096,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.5,
        "function_length_stddev": 5.78,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4497,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\item.tsx",
      "language": "tsx",
      "line_count": 197,
      "token_estimate": 1202,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 95,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 136,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 149,
          "line_end": 157,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 172,
          "line_end": 183,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.8,
        "function_length_stddev": 2.53,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 197,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8024,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.91,
        "mechanical": 98.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\progress.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 186,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.15,
        "mechanical": 95.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 68,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 800,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 49,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 42,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 42,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4782,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1782,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32.5,
        "function_length_stddev": 3.54,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8912,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.92,
        "mechanical": 79.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 466,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.1,
        "mechanical": 95.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 348,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 274,
      "token_estimate": 2236,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 120,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 162,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 182,
          "line_end": 193,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 195,
          "line_end": 209,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 211,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 217,
          "line_end": 239,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 241,
          "line_end": 255,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.53,
        "function_length_stddev": 8.71,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 274,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4394,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.34,
        "mechanical": 98.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 209,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 423,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 17,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 463,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 453,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 622,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 13.86,
        "function_length_stddev": 4.14,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7012,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.13,
        "mechanical": 98.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 198,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 8.33,
        "function_length_stddev": 2.89,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6536,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 151,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 417,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 527,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 11.25,
        "function_length_stddev": 8.5,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2444,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.62,
        "mechanical": 99.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\button-group-popover.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 391,
      "functions": [
        {
          "name": "ButtonGroupPopover",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\index.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 521,
      "functions": [
        {
          "name": "RootComponents",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 17,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\spinner-empty.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 197,
      "functions": [
        {
          "name": "SpinnerEmpty",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\colors\\layout.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 527,
      "functions": [
        {
          "name": "ColorsLayout",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 58,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0946,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.33,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012658,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.74,
        "mechanical": 88.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\customizer.tsx",
      "language": "tsx",
      "line_count": 109,
      "token_estimate": 1195,
      "functions": [
        {
          "name": "Customizer",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 74,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 35,
              "description": "Function is 74 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 74 lines (> 37 dynamic threshold)",
                "impact": "Function Customizer is 74 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 60,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 67,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 72,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 89,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 90,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 92,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 93,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 100,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 31,
              "description": "Unused import: import { V0Button } from \"@/app/(app)/create/components/v0-button\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'V0Button' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { V0Button } from \"@/app/(app)/create/components/v0-button\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 74,
        "function_length_stddev": 0.0,
        "import_count": 25,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 109,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.1,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.100917,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 58.75,
        "mechanical": 58.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\main-menu.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 758,
      "functions": [
        {
          "name": "MainMenu",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 26,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function MainMenu is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 27,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 34,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2414,
          "ai_signals": [
            "High anti-pattern density (0.69)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 11,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.91,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.2,
        "mechanical": 66.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\preview.tsx",
      "language": "tsx",
      "line_count": 155,
      "token_estimate": 1154,
      "functions": [
        {
          "name": "handleMessage",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 6,
            "parameter_count": 1,
            "line_count": 70,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "deep-nesting",
              "severity": "high",
              "line": 24,
              "description": "Nesting depth 6 > 4",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Nesting depth 6 > 4",
                "impact": "Nesting depth 6 at line 24 in handleMessage makes control flow hard to follow",
                "recommendation": "Extract nested blocks into helper functions or use early returns to flatten",
                "confidence": 0.9,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 70 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 70 lines (> 15 dynamic threshold)",
                "impact": "Function handleMessage is 70 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2782,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "Preview",
          "type": "function_declaration",
          "line_start": 95,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 95,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function Preview is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 143,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-insecure-iframe",
              "severity": "high",
              "line": 143,
              "description": "iframe with sandbox attribute missing or too permissive - allows embedded content to execute scripts, navigate parent, or access cookies",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 120,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 99,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 119,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5282,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.89)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 65,
        "function_length_stddev": 7.07,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 8,
        "code_lines": 147,
        "comment_ratio": 0.0516,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.1,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.054422,
        "structural_uniformity": 0.8912,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 48.64,
        "mechanical": 48.64,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\v0-button.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 412,
      "functions": [
        {
          "name": "V0Button",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function V0Button is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 47,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1556,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.52,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.034483,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.88,
        "mechanical": 72.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\hooks\\use-reset.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 737,
      "functions": [
        {
          "name": "useReset",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 92,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 92 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 92 lines (> 37 dynamic threshold)",
                "impact": "Function useReset is 92 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 22,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 45,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 52,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 58,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 63,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 67,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2663,
          "ai_signals": [
            "High anti-pattern density (0.76)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 92,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 103,
        "comment_ratio": 0.0096,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.13,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.067961,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.01,
        "mechanical": 68.01,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\lib\\preset-query.test.ts",
      "language": "typescript",
      "line_count": 35,
      "token_estimate": 227,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 0,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\page.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 495,
      "functions": [
        {
          "name": "CreatePage",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2059,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017544,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.51,
        "mechanical": 93.51,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\dashboard\\components\\data-table.tsx",
      "language": "tsx",
      "line_count": 808,
      "token_estimate": 6718,
      "functions": [
        {
          "name": "DragHandle",
          "type": "function_declaration",
          "line_start": 120,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 142,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 143,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 143,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.55,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 147,
          "line_end": 158,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 149,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4917,
          "ai_signals": [
            "High anti-pattern density (0.83)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 159,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 161,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.55,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 174,
          "line_end": 176,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.55,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 182,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 193,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 206,
          "line_end": 206,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 207,
          "line_end": 227,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 231,
          "line_end": 231,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 232,
          "line_end": 252,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 257,
          "line_end": 286,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 265,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.3167,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 290,
          "line_end": 310,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "DraggableRow",
          "type": "function_declaration",
          "line_start": 314,
          "line_end": 337,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "DataTable",
          "type": "function_declaration",
          "line_start": 339,
          "line_end": 628,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 290,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 339,
              "description": "Function is 290 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 290 lines (> 37 dynamic threshold)",
                "impact": "Function DataTable is 290 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 516,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 550,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 364,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 510,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 344,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 345,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 352,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2966,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "TableCellViewer",
          "type": "function_declaration",
          "line_start": 650,
          "line_end": 807,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 158,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 650,
              "description": "Function is 158 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 158 lines (> 37 dynamic threshold)",
                "impact": "Function TableCellViewer is 158 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 679,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 688,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 669,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2886,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 17,
        "avg_function_length": 36.94,
        "function_length_stddev": 74.74,
        "import_count": 23,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 807,
        "comment_ratio": 0.0012,
        "comment_what_ratio": 1.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 17,
        "ai_smell_density": 0.021066,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.3,
        "mechanical": 85.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\layout.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 644,
      "functions": [
        {
          "name": "ExamplesLayout",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 53,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 60,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 63,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3088,
          "ai_signals": [
            "High anti-pattern density (0.88)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 4,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.03,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.037037,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.54,
        "mechanical": 83.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\playground\\components\\temperature-selector.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 434,
      "functions": [
        {
          "name": "TemperatureSelector",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function TemperatureSelector is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 23,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1795,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.47,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033898,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.83,
        "mechanical": 82.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\button-group-nested.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 379,
      "functions": [
        {
          "name": "formatNumber",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupNested",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 30,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 30,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2414,
          "ai_signals": [
            "High anti-pattern density (0.69)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 16,
        "function_length_stddev": 18.38,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.035088,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.59,
        "mechanical": 88.59,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\input-group-button.tsx",
      "language": "tsx",
      "line_count": 98,
      "token_estimate": 693,
      "functions": [
        {
          "name": "InputGroupButtonExample",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 41,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupButtonExample is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 88,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 43,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 43,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 45,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.307,
          "ai_signals": [
            "High anti-pattern density (0.88)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 98,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.57,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.05102,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 70.64,
        "mechanical": 70.64,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\tasks\\components\\data-table-column-header.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 481,
      "functions": [
        {
          "name": "DataTableColumnHeader",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function DataTableColumnHeader is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0745,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.64,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.67,
        "mechanical": 74.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\tasks\\data\\data.tsx",
      "language": "tsx",
      "line_count": 72,
      "token_estimate": 237,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 72,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(create)\\init\\md\\route.ts",
      "language": "typescript",
      "line_count": 31,
      "token_estimate": 213,
      "functions": [
        {
          "name": "GET",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 1
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.6,
        "mechanical": 82.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(view)\\view\\[style]\\[name]\\component-preview.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 70,
      "functions": [
        {
          "name": "ComponentPreview",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.95,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\announcement.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 85,
      "functions": [
        {
          "name": "Announcement",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 9,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.6,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.066667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.33,
        "mechanical": 83.33,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\chat.tsx",
      "language": "tsx",
      "line_count": 274,
      "token_estimate": 2082,
      "functions": [
        {
          "name": "CardsChat",
          "type": "function_declaration",
          "line_start": 78,
          "line_end": 273,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 196,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 78,
              "description": "Function is 196 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 196 lines (> 37 dynamic threshold)",
                "impact": "Function CardsChat is 196 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 225,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 249,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 104,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 79,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 82,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 100,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 109,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1429,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 196,
        "function_length_stddev": 0.0,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 274,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.029197,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.2,
        "mechanical": 75.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\report-issue.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 855,
      "functions": [
        {
          "name": "CardsReportIssue",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function CardsReportIssue is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 84,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1364,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 77,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.42,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.029703,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.57,
        "mechanical": 77.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\chart-toolbar.tsx",
      "language": "tsx",
      "line_count": 108,
      "token_estimate": 583,
      "functions": [
        {
          "name": "ChartToolbar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 29,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 35,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3471,
          "ai_signals": [
            "High anti-pattern density (0.71)"
          ]
        },
        {
          "name": "ChartTitle",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 48,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTitle is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 51,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 59,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 67,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 75,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 83,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 91,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 99,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.4471,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 44,
        "function_length_stddev": 22.63,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 108,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.55,
        "debug_artifacts": [],
        "ai_smell_count": 10,
        "ai_smell_density": 0.092593,
        "structural_uniformity": 0.4857,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 58.99,
        "mechanical": 58.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\colors-nav.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 329,
      "functions": [
        {
          "name": "ColorsNav",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 26,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1094,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.42,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02381,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.45,
        "mechanical": 87.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\directory-add-button.tsx",
      "language": "tsx",
      "line_count": 182,
      "token_estimate": 1353,
      "functions": [
        {
          "name": "DirectoryAddButton",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 140,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 140 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 140 lines (> 37 dynamic threshold)",
                "impact": "Function DirectoryAddButton is 140 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 95,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 95,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 48,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 49,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 65,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 72,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.175,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 140,
        "function_length_stddev": 0.0,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 182,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.16,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.038462,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 62.38,
        "mechanical": 62.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\examples-nav.tsx",
      "language": "tsx",
      "line_count": 95,
      "token_estimate": 629,
      "functions": [
        {
          "name": "ExamplesNav",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 52,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 57,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 52,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 60,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5391,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.95)"
          ]
        },
        {
          "name": "ExampleLink",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1891,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.95)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 26,
        "function_length_stddev": 1.41,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 95,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.85,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.042105,
        "structural_uniformity": 0.9456,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.67,
        "mechanical": 80.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 859,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.128,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 82,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.12,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.026087,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.23,
        "mechanical": 77.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\site-header.tsx",
      "language": "tsx",
      "line_count": 96,
      "token_estimate": 974,
      "functions": [
        {
          "name": "SiteHeader",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 75,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 75 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 75 lines (> 37 dynamic threshold)",
                "impact": "Function SiteHeader is 75 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 29,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 45,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 48,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 85,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 40,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-missing-suspense-error-boundary",
              "severity": "high",
              "line": 68,
              "description": "React Query / SWR data fetching without error boundary - unhandled errors show blank screen or crash",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-missing-suspense-error-boundary",
              "severity": "high",
              "line": 71,
              "description": "React Query / SWR data fetching without error boundary - unhandled errors show blank screen or crash",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-missing-suspense-error-boundary",
              "severity": "high",
              "line": 77,
              "description": "React Query / SWR data fetching without error boundary - unhandled errors show blank screen or crash",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 84,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 75,
        "function_length_stddev": 0.0,
        "import_count": 18,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 96,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 10,
        "ai_smell_density": 0.104167,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 60.0,
        "mechanical": 60.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\accordion-borders.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 372,
      "functions": [
        {
          "name": "AccordionBorders",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.51,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\alert-colors.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 152,
      "functions": [
        {
          "name": "AlertColors",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\alert-dialog-small-media.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 294,
      "functions": [
        {
          "name": "AlertDialogSmallWithMedia",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 20,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.154,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.84,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02381,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.55,
        "mechanical": 89.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\avatar-badge.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 91,
      "functions": [
        {
          "name": "AvatarWithBadge",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 11,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.3,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.058824,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.29,
        "mechanical": 85.29,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\avatar-size.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 172,
      "functions": [
        {
          "name": "AvatarSizeExample",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 11,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 15,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 19,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.51,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.12,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.6,
        "mechanical": 72.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\breadcrumb-basic.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 171,
      "functions": [
        {
          "name": "BreadcrumbBasic",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0343,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 12.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-demo.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 96,
      "functions": [
        {
          "name": "ButtonDemo",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-group-orientation.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 133,
      "functions": [
        {
          "name": "ButtonGroupOrientation",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-link.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 35,
      "functions": [
        {
          "name": "ButtonLink",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.73,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-with-icon.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 111,
      "functions": [
        {
          "name": "ButtonWithIcon",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\calendar-presets.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 434,
      "functions": [
        {
          "name": "CalendarWithPresets",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarWithPresets is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.34,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016949,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.06,
        "mechanical": 84.06,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\card-small.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 396,
      "functions": [
        {
          "name": "CardSmall",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CardSmall is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0921,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.71,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.019608,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.7,
        "mechanical": 86.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\carousel-spacing.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 240,
      "functions": [
        {
          "name": "CarouselSpacing",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\chart-tooltip.tsx",
      "language": "tsx",
      "line_count": 215,
      "token_estimate": 2027,
      "functions": [
        {
          "name": "ChartTooltipDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 114,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 7,
              "description": "Function is 114 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 114 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipDemo is 114 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.202,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "TooltipDemo",
          "type": "function_declaration",
          "line_start": 122,
          "line_end": 214,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 93,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 122,
              "description": "Function is 93 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 93 lines (> 37 dynamic threshold)",
                "impact": "Function TooltipDemo is 93 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 174,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 186,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 186,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 172,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 146,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3971,
          "ai_signals": [
            "High anti-pattern density (0.65)",
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 103.5,
        "function_length_stddev": 14.85,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 215,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.71,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.032558,
        "structural_uniformity": 0.8565,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.53,
        "mechanical": 72.53,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\checkbox-table.tsx",
      "language": "tsx",
      "line_count": 109,
      "token_estimate": 635,
      "functions": [
        {
          "name": "CheckboxInTable",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 67,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 67 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 67 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxInTable is 67 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 91,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1045,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 67,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 109,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.72,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.018349,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.41,
        "mechanical": 80.41,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\combobox-clear.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 186,
      "functions": [
        {
          "name": "ComboboxWithClear",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.63,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\combobox-popup.tsx",
      "language": "tsx",
      "line_count": 97,
      "token_estimate": 683,
      "functions": [
        {
          "name": "ComboboxPopup",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 83,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 70,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2414,
          "ai_signals": [
            "High anti-pattern density (0.69)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 97,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.65,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.020619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.15,
        "mechanical": 89.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\command-shortcuts.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 382,
      "functions": [
        {
          "name": "CommandWithShortcuts",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 19,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0972,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.22,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.018519,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.57,
        "mechanical": 87.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\context-menu-rtl.tsx",
      "language": "tsx",
      "line_count": 184,
      "token_estimate": 1469,
      "functions": [
        {
          "name": "ContextMenuRtl",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 183,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 88,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 96,
              "description": "Function is 88 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 88 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuRtl is 88 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 98,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0795,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 88,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 184,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.86,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.01087,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.78,
        "mechanical": 74.78,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\date-picker-demo.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 272,
      "functions": [
        {
          "name": "DatePickerDemo",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 22,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.125,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.42,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.023256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.29,
        "mechanical": 86.29,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dialog-demo.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 390,
      "functions": [
        {
          "name": "DialogDemo",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\drawer-scrollable-content.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 407,
      "functions": [
        {
          "name": "DrawerScrollableContent",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dropdown-menu-destructive.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 266,
      "functions": [
        {
          "name": "DropdownMenuDestructive",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.022,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\empty-avatar.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 250,
      "functions": [
        {
          "name": "EmptyAvatar",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 23,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.41,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.4,
        "mechanical": 89.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\field-choice-card.tsx",
      "language": "tsx",
      "line_count": 49,
      "token_estimate": 382,
      "functions": [
        {
          "name": "FieldChoiceCard",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 49,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.47,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\field-select.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 322,
      "functions": [
        {
          "name": "FieldSelect",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-badge.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 134,
      "functions": [
        {
          "name": "InputBadge",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.72,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-form.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 603,
      "functions": [
        {
          "name": "InputForm",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 62,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 62 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 62 lines (> 37 dynamic threshold)",
                "impact": "Function InputForm is 62 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0565,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 62,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 80,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.6,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.0125,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.88,
        "mechanical": 81.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-demo.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 110,
      "functions": [
        {
          "name": "InputGroupDemo",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-rtl.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 832,
      "functions": [
        {
          "name": "InputGroupRtl",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 74,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupRtl is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 87,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 93,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3043,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.93,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.87,
        "mechanical": 80.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-with-kbd.tsx",
      "language": "tsx",
      "line_count": 133,
      "token_estimate": 1080,
      "functions": [
        {
          "name": "InputGroupWithKbd",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 115,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 115 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 115 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithKbd is 115 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0304,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 9,
              "description": "Unused import: import { Input } from \"@/styles/base-nova/ui/input\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Input' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Input } from \"@/styles/base-nova/ui/input\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 115,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 133,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.67,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007519,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.12,
        "mechanical": 83.12,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-otp-disabled.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 161,
      "functions": [
        {
          "name": "InputOTPDisabled",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 13,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 14,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 15,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 19,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 20,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 21,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import { Field, FieldLabel } from \"@/styles/base-nova/ui/field\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Field' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Field, FieldLabel } from \"@/styles/base-nova/ui/field\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import { Field, FieldLabel } from \"@/styles/base-nova/ui/field\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'FieldLabel' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Field, FieldLabel } from \"@/styles/base-nova/ui/field\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.69,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.230769,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 2
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.9,
        "mechanical": 72.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-rtl.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 307,
      "functions": [
        {
          "name": "InputRtl",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\item-link.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 275,
      "functions": [
        {
          "name": "ItemLink",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.56,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\kbd-rtl.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 192,
      "functions": [
        {
          "name": "KbdRtl",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\menubar-rtl.tsx",
      "language": "tsx",
      "line_count": 284,
      "token_estimate": 2147,
      "functions": [
        {
          "name": "MenubarRtl",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 283,
          "metrics": {
            "cyclomatic_complexity": 10,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 141,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 143,
              "description": "Function is 141 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 141 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarRtl is 141 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 145,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0496,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 141,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 284,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.6,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.007042,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 60.74,
        "mechanical": 60.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\navigation-menu-demo.tsx",
      "language": "tsx",
      "line_count": 158,
      "token_estimate": 1235,
      "functions": [
        {
          "name": "NavigationMenuDemo",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function NavigationMenuDemo is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 102,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 110,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 118,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 130,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2313,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        },
        {
          "name": "ListItem",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 157,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 149,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 149,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3653,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 49,
        "function_length_stddev": 45.25,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 158,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.96,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044304,
        "structural_uniformity": 0.0764,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.22,
        "mechanical": 77.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\popover-basic.tsx",
      "language": "tsx",
      "line_count": 30,
      "token_estimate": 179,
      "functions": [
        {
          "name": "PopoverBasic",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 13,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1842,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 30,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.77,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.97,
        "mechanical": 88.97,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\radio-fields.tsx",
      "language": "tsx",
      "line_count": 150,
      "token_estimate": 1374,
      "functions": [
        {
          "name": "RadioFields",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 137,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 137 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 137 lines (> 37 dynamic threshold)",
                "impact": "Function RadioFields is 137 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0255,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 137,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 150,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.49,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.33,
        "mechanical": 83.33,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\resizable-demo.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 296,
      "functions": [
        {
          "name": "ResizableDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\select-demo.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 226,
      "functions": [
        {
          "name": "SelectDemo",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\separator-menu.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 230,
      "functions": [
        {
          "name": "SeparatorMenu",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.68,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-demo.tsx",
      "language": "tsx",
      "line_count": 506,
      "token_estimate": 3353,
      "functions": [
        {
          "name": "TeamSwitcher",
          "type": "function_declaration",
          "line_start": 200,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 78,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 200,
              "description": "Function is 78 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 78 lines (> 37 dynamic threshold)",
                "impact": "Function TeamSwitcher is 78 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 210,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2115,
          "ai_signals": []
        },
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 279,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 305,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 315,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 313,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4017,
          "ai_signals": [
            "High anti-pattern density (0.80)"
          ]
        },
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 387,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function NavProjects is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 347,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2424,
          "ai_signals": []
        },
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 389,
          "line_end": 476,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 88,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 389,
              "description": "Function is 88 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 88 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 88 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 413,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 432,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.241,
          "ai_signals": []
        },
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 478,
          "line_end": 505,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 485,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 488,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 489,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 492,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4717,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 60.4,
        "function_length_stddev": 23.64,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 505,
        "comment_ratio": 0.002,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.66,
        "debug_artifacts": [],
        "ai_smell_count": 15,
        "ai_smell_density": 0.029703,
        "structural_uniformity": 0.6086,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.47,
        "mechanical": 75.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-menu-collapsible.tsx",
      "language": "tsx",
      "line_count": 195,
      "token_estimate": 1014,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 194,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 152,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 176,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1628,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 195,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.59,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.010256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.54,
        "mechanical": 87.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\skeleton-form.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 126,
      "functions": [
        {
          "name": "SkeletonForm",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\slider-range.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 56,
      "functions": [
        {
          "name": "SliderRange",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 5,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.86,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.076923,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.77,
        "mechanical": 80.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\spinner-button.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 152,
      "functions": [
        {
          "name": "SpinnerButton",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.71,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\switch-demo.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 77,
      "functions": [
        {
          "name": "SwitchDemo",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\table-footer.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 523,
      "functions": [
        {
          "name": "TableFooterExample",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\textarea-button.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 77,
      "functions": [
        {
          "name": "TextareaButton",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-group-demo.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 150,
      "functions": [
        {
          "name": "ToggleGroupDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-outline.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 112,
      "functions": [
        {
          "name": "ToggleOutline",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\tooltip-sides.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 161,
      "functions": [
        {
          "name": "TooltipSides",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.43,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-large.tsx",
      "language": "tsx",
      "line_count": 4,
      "token_estimate": 29,
      "functions": [
        {
          "name": "TypographyLarge",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 3,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 4,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\accordion-basic.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 324,
      "functions": [
        {
          "name": "AccordionBasic",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.28,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\alert-basic.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 119,
      "functions": [
        {
          "name": "AlertBasic",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.15,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\alert-dialog-rtl.tsx",
      "language": "tsx",
      "line_count": 126,
      "token_estimate": 944,
      "functions": [
        {
          "name": "AlertDialogRtl",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 76,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function AlertDialogRtl is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.07,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 126,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.22,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007937,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.02,
        "mechanical": 81.02,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\avatar-badge-icon.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 109,
      "functions": [
        {
          "name": "AvatarBadgeIconExample",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 13,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.13,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.8,
        "mechanical": 87.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\avatar-rtl.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 473,
      "functions": [
        {
          "name": "AvatarRtl",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarRtl is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 49,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 57,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 65,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 70,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 77,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 48,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.11,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.068966,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.36,
        "mechanical": 71.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\badge-variants.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 96,
      "functions": [
        {
          "name": "BadgeVariants",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-aschild.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 54,
      "functions": [
        {
          "name": "ButtonAsChild",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 8,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.47,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.083333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.17,
        "mechanical": 79.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-group-input.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 112,
      "functions": [
        {
          "name": "ButtonGroupInput",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-group-split.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 115,
      "functions": [
        {
          "name": "ButtonGroupSplit",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-spinner.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 115,
      "functions": [
        {
          "name": "ButtonSpinner",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\calendar-multiple.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 81,
      "functions": [
        {
          "name": "CalendarMultiple",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\card-rtl.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 809,
      "functions": [
        {
          "name": "CardRtl",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 67,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function CardRtl is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.07,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.59,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008547,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.86,
        "mechanical": 85.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\carousel-size.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 249,
      "functions": [
        {
          "name": "CarouselSize",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\chart-rtl.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 670,
      "functions": [
        {
          "name": "ChartRtl",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 69,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRtl is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 86,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 100,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 102,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 108,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 96,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 96,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 96,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 96,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 13,
        "ai_smell_density": 0.113043,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 62.95,
        "mechanical": 62.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\checkbox-rtl.tsx",
      "language": "tsx",
      "line_count": 97,
      "token_estimate": 704,
      "functions": [
        {
          "name": "CheckboxRtl",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxRtl is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 97,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.53,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010309,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.82,
        "mechanical": 87.82,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\combobox-basic.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 177,
      "functions": [
        {
          "name": "ComboboxBasic",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\combobox-multiple.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 323,
      "functions": [
        {
          "name": "ComboboxMultiple",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\command-scrollable.tsx",
      "language": "tsx",
      "line_count": 183,
      "token_estimate": 1364,
      "functions": [
        {
          "name": "CommandManyItems",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 140,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 140 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 140 lines (> 37 dynamic threshold)",
                "impact": "Function CommandManyItems is 140 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 44,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.05,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 140,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 183,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.9,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.010929,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.27,
        "mechanical": 82.27,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\context-menu-radio.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 446,
      "functions": [
        {
          "name": "ContextMenuRadio",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1892,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.46,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.037736,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.47,
        "mechanical": 82.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\date-picker-basic.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 284,
      "functions": [
        {
          "name": "DatePickerSimple",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.47,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.1,
        "mechanical": 92.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dialog-close-button.tsx",
      "language": "tsx",
      "line_count": 49,
      "token_estimate": 341,
      "functions": [
        {
          "name": "DialogCloseButton",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 49,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\drawer-rtl.tsx",
      "language": "tsx",
      "line_count": 194,
      "token_estimate": 1185,
      "functions": [
        {
          "name": "DrawerRtl",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 193,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 84,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 110,
              "description": "Function is 84 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 84 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerRtl is 84 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 174,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 174,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 112,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1667,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 84,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 194,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.67,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.020619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.35,
        "mechanical": 77.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dropdown-menu-demo.tsx",
      "language": "tsx",
      "line_count": 75,
      "token_estimate": 620,
      "functions": [
        {
          "name": "DropdownMenuDemo",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuDemo is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 75,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 13.78,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.27,
        "mechanical": 82.27,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\empty-avatar-group.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 401,
      "functions": [
        {
          "name": "EmptyAvatarGroup",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function EmptyAvatarGroup is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 25,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 30,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 37,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.04,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.068966,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.76,
        "mechanical": 73.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\field-checkbox.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 617,
      "functions": [
        {
          "name": "FieldCheckbox",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 66,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 66 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 66 lines (> 37 dynamic threshold)",
                "impact": "Function FieldCheckbox is 66 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.053,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 66,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012658,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.84,
        "mechanical": 81.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\field-rtl.tsx",
      "language": "tsx",
      "line_count": 294,
      "token_estimate": 2258,
      "functions": [
        {
          "name": "FieldRtl",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 293,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 136,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 158,
              "description": "Function is 136 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 136 lines (> 37 dynamic threshold)",
                "impact": "Function FieldRtl is 136 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 163,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 163,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0772,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 136,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 294,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.010204,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.45,
        "mechanical": 82.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\hover-card-sides.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 234,
      "functions": [
        {
          "name": "HoverCardSides",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-file.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 96,
      "functions": [
        {
          "name": "InputFile",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-custom.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 209,
      "functions": [
        {
          "name": "InputGroupCustom",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.15,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-label.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 352,
      "functions": [
        {
          "name": "InputGroupLabel",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-with-buttons.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 508,
      "functions": [
        {
          "name": "InputGroupWithButtons",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithButtons is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import { Button } from \"@/styles/radix-nova/ui/button\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Button' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Button } from \"@/styles/radix-nova/ui/button\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 5,
              "description": "Unused import: import { Input } from \"@/styles/radix-nova/ui/input\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Input' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Input } from \"@/styles/radix-nova/ui/input\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.16,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016129,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 2
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.27,
        "mechanical": 84.27,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-otp-demo.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 117,
      "functions": [
        {
          "name": "InputOTPDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 11,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 12,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 13,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 14,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 15,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 16,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.63,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.285714,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.8,
        "mechanical": 73.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-required.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 134,
      "functions": [
        {
          "name": "InputRequired",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\item-image.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 424,
      "functions": [
        {
          "name": "ItemImage",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 41,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 41,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2121,
          "ai_signals": [
            "High anti-pattern density (0.61)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.27,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.030303,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.52,
        "mechanical": 85.52,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\kbd-input-group.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 153,
      "functions": [
        {
          "name": "KbdInputGroup",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\menubar-radio.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 366,
      "functions": [
        {
          "name": "MenubarRadio",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.43,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.041667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.98,
        "mechanical": 82.98,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\native-select-rtl.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 341,
      "functions": [
        {
          "name": "NativeSelectRtl",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import * as React from \"react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'React' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import * as React from \"react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\popover-alignments.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 276,
      "functions": [
        {
          "name": "PopoverAlignments",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\progress-rtl.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 338,
      "functions": [
        {
          "name": "toArabicNumerals",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0788,
          "ai_signals": []
        },
        {
          "name": "ProgressRtl",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2538,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 14,
        "function_length_stddev": 8.49,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.57,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016129,
        "structural_uniformity": 0.3939,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.77,
        "mechanical": 94.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\radio-group-rtl.tsx",
      "language": "tsx",
      "line_count": 93,
      "token_estimate": 645,
      "functions": [
        {
          "name": "RadioGroupRtl",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 93,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.9,
        "mechanical": 91.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\select-align-item.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 413,
      "functions": [
        {
          "name": "SelectAlignItem",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function SelectAlignItem is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 23,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1795,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.43,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.032787,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.6,
        "mechanical": 80.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\separator-list.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 171,
      "functions": [
        {
          "name": "SeparatorList",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-controlled.tsx",
      "language": "tsx",
      "line_count": 97,
      "token_estimate": 543,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 70,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 57,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2561,
          "ai_signals": [
            "High anti-pattern density (0.73)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 97,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.04,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.030928,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.97,
        "mechanical": 77.97,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-menu-badge.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 460,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 72,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.22,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011364,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.86,
        "mechanical": 90.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\skeleton-demo.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 90,
      "functions": [
        {
          "name": "SkeletonDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\slider-multiple.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 58,
      "functions": [
        {
          "name": "SliderMultiple",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 5,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.076923,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.77,
        "mechanical": 80.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\spinner-badge.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 137,
      "functions": [
        {
          "name": "SpinnerBadge",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\switch-choice-card.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 293,
      "functions": [
        {
          "name": "SwitchChoiceCard",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\table-demo.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 518,
      "functions": [
        {
          "name": "TableDemo",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\tabs-vertical.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 105,
      "functions": [
        {
          "name": "TabsVertical",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-disabled.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 93,
      "functions": [
        {
          "name": "ToggleDisabled",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-group-vertical.tsx",
      "language": "tsx",
      "line_count": 28,
      "token_estimate": 177,
      "functions": [
        {
          "name": "ToggleGroupVertical",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\tooltip-rtl.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 336,
      "functions": [
        {
          "name": "TooltipRtl",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-inline-code.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 52,
      "functions": [
        {
          "name": "TypographyInlineCode",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-table.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 451,
      "functions": [
        {
          "name": "TypographyTable",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function TypographyTable is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-table-missing-caption",
              "severity": "medium",
              "line": 4,
              "description": "Data table without caption or aria-label - screen reader users cannot understand the table's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1591,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.48,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.044444,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.69,
        "mechanical": 78.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\hooks\\use-mounted.ts",
      "language": "typescript",
      "line_count": 12,
      "token_estimate": 48,
      "functions": [
        {
          "name": "useMounted",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 4,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 6,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.36,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.166667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.0,
        "mechanical": 75.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\config.ts",
      "language": "typescript",
      "line_count": 43,
      "token_estimate": 221,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\llm.ts",
      "language": "typescript",
      "line_count": 128,
      "token_estimate": 891,
      "functions": [
        {
          "name": "getBaseForStyle",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getDemoFilePath",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 23,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "getRegistryEntry",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 34,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "getComponentsList",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 43,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2059,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        },
        {
          "name": "processMdxForLLMs",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 127,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 72,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 72 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 72 lines (> 37 dynamic threshold)",
                "impact": "Function processMdxForLLMs is 72 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 74,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 77,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 123,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1944,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 22.8,
        "function_length_stddev": 27.78,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 3,
        "code_lines": 125,
        "comment_ratio": 0.0234,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.36,
        "debug_artifacts": [
          "console.error line 123"
        ],
        "ai_smell_count": 7,
        "ai_smell_density": 0.056,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.76,
        "mechanical": 73.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\mdx-components.tsx",
      "language": "tsx",
      "line_count": 389,
      "token_estimate": 2773,
      "functions": [
        {
          "name": "ComponentsListWrapper",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 51,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 52,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 52,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 46,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "h1",
          "type": "arrow_function",
          "line_start": 59,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 60,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "h2",
          "type": "arrow_function",
          "line_start": 68,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "h3",
          "type": "arrow_function",
          "line_start": 85,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 86,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "h4",
          "type": "arrow_function",
          "line_start": 94,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 95,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "h5",
          "type": "arrow_function",
          "line_start": 103,
          "line_end": 111,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 104,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "h6",
          "type": "arrow_function",
          "line_start": 112,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 113,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "a",
          "type": "arrow_function",
          "line_start": 121,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 6,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 122,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "p",
          "type": "arrow_function",
          "line_start": 127,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 6,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 128,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "strong",
          "type": "arrow_function",
          "line_start": 133,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 134,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ul",
          "type": "arrow_function",
          "line_start": 136,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 137,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ol",
          "type": "arrow_function",
          "line_start": 139,
          "line_end": 141,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 140,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "li",
          "type": "arrow_function",
          "line_start": 142,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 143,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "blockquote",
          "type": "arrow_function",
          "line_start": 145,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 6,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 146,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "img",
          "type": "arrow_function",
          "line_start": 151,
          "line_end": 153,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 152,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 152,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "hr",
          "type": "arrow_function",
          "line_start": 154,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0172,
          "ai_signals": []
        },
        {
          "name": "table",
          "type": "arrow_function",
          "line_start": 157,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 159,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3354,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "tr",
          "type": "arrow_function",
          "line_start": 168,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 169,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "th",
          "type": "arrow_function",
          "line_start": 171,
          "line_end": 179,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 172,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "td",
          "type": "arrow_function",
          "line_start": 180,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 181,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "pre",
          "type": "arrow_function",
          "line_start": 189,
          "line_end": 201,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0172,
          "ai_signals": []
        },
        {
          "name": "figure",
          "type": "arrow_function",
          "line_start": 202,
          "line_end": 204,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 203,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "figcaption",
          "type": "arrow_function",
          "line_start": 205,
          "line_end": 227,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0172,
          "ai_signals": []
        },
        {
          "name": "code",
          "type": "arrow_function",
          "line_start": 228,
          "line_end": 278,
          "metrics": {
            "cyclomatic_complexity": 7,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 228,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function code is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 248,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 262,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 274,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 275,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 273,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Step",
          "type": "arrow_function",
          "line_start": 279,
          "line_end": 287,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 280,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Steps",
          "type": "arrow_function",
          "line_start": 288,
          "line_end": 296,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 289,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Image",
          "type": "arrow_function",
          "line_start": 297,
          "line_end": 313,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 305,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 307,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 307,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Tabs",
          "type": "arrow_function",
          "line_start": 314,
          "line_end": 316,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 315,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "TabsList",
          "type": "arrow_function",
          "line_start": 317,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 321,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3089,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "arrow_function",
          "line_start": 329,
          "line_end": 340,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 333,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3089,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "arrow_function",
          "line_start": 341,
          "line_end": 352,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 345,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3089,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "Tab",
          "type": "arrow_function",
          "line_start": 353,
          "line_end": 355,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 354,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Link",
          "type": "arrow_function",
          "line_start": 372,
          "line_end": 377,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 6,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 373,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "LinkedCard",
          "type": "arrow_function",
          "line_start": 378,
          "line_end": 386,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 379,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3672,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 8,
              "description": "Unused import: import { Callout } from \"@/components/callout\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Callout' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Callout } from \"@/components/callout\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 10,
              "description": "Unused import: import { CodeCollapsibleWrapper } from \"@/components/code-collapsible-wrapper\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CodeCollapsibleWrapper' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { CodeCollapsibleWrapper } from \"@/components/code-collapsible-wrapper\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 11,
              "description": "Unused import: import { CodeTabs } from \"@/components/code-tabs\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CodeTabs' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { CodeTabs } from \"@/components/code-tabs\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 12,
              "description": "Unused import: import { ComponentPreview } from \"@/components/component-preview\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'ComponentPreview' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { ComponentPreview } from \"@/components/component-preview\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 13,
              "description": "Unused import: import { ComponentSource } from \"@/components/component-source\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'ComponentSource' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { ComponentSource } from \"@/components/component-source\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 16,
              "description": "Unused import: import { DirectoryList } from \"@/components/directory-list\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'DirectoryList' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { DirectoryList } from \"@/components/directory-list\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 18,
              "description": "Unused import: import {\n  Accordion,\n  AccordionContent,\n  AccordionItem,\n  AccordionTrigger,\n} from \"@/registry/new-york-v4/ui/accordion\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Accordion' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Accordion,\n  AccordionContent,\n  AccordionItem,\n  AccordionTrigger,\n} from \"@/registry/new-york-v4/ui/accordion\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 18,
              "description": "Unused import: import {\n  Accordion,\n  AccordionContent,\n  AccordionItem,\n  AccordionTrigger,\n} from \"@/registry/new-york-v4/ui/accordion\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'AccordionContent' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Accordion,\n  AccordionContent,\n  AccordionItem,\n  AccordionTrigger,\n} from \"@/registry/new-york-v4/ui/accordion\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 18,
              "description": "Unused import: import {\n  Accordion,\n  AccordionContent,\n  AccordionItem,\n  AccordionTrigger,\n} from \"@/registry/new-york-v4/ui/accordion\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'AccordionItem' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Accordion,\n  AccordionContent,\n  AccordionItem,\n  AccordionTrigger,\n} from \"@/registry/new-york-v4/ui/accordion\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 18,
              "description": "Unused import: import {\n  Accordion,\n  AccordionContent,\n  AccordionItem,\n  AccordionTrigger,\n} from \"@/registry/new-york-v4/ui/accordion\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'AccordionTrigger' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Accordion,\n  AccordionContent,\n  AccordionItem,\n  AccordionTrigger,\n} from \"@/registry/new-york-v4/ui/accordion\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 24,
              "description": "Unused import: import {\n  Alert,\n  AlertDescription,\n  AlertTitle,\n} from \"@/registry/new-york-v4/ui/alert\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Alert' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Alert,\n  AlertDescription,\n  AlertTitle,\n} from \"@/registry/new-york-v4/ui/alert\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 24,
              "description": "Unused import: import {\n  Alert,\n  AlertDescription,\n  AlertTitle,\n} from \"@/registry/new-york-v4/ui/alert\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'AlertDescription' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Alert,\n  AlertDescription,\n  AlertTitle,\n} from \"@/registry/new-york-v4/ui/alert\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 24,
              "description": "Unused import: import {\n  Alert,\n  AlertDescription,\n  AlertTitle,\n} from \"@/registry/new-york-v4/ui/alert\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'AlertTitle' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Alert,\n  AlertDescription,\n  AlertTitle,\n} from \"@/registry/new-york-v4/ui/alert\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 29,
              "description": "Unused import: import { AspectRatio } from \"@/registry/new-york-v4/ui/aspect-ratio\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'AspectRatio' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { AspectRatio } from \"@/registry/new-york-v4/ui/aspect-ratio\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 30,
              "description": "Unused import: import { Button } from \"@/registry/new-york-v4/ui/button\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Button' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Button } from \"@/registry/new-york-v4/ui/button\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 31,
              "description": "Unused import: import { Kbd } from \"@/registry/new-york-v4/ui/kbd\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Kbd' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Kbd } from \"@/registry/new-york-v4/ui/kbd\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 34,
        "avg_function_length": 9.65,
        "function_length_stddev": 8.82,
        "import_count": 22,
        "export_count": 1,
        "comment_lines": 5,
        "code_lines": 384,
        "comment_ratio": 0.0129,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.99,
        "debug_artifacts": [],
        "ai_smell_count": 43,
        "ai_smell_density": 0.111979,
        "structural_uniformity": 0.086,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 16
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.04,
        "mechanical": 74.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\base-colors.ts",
      "language": "typescript",
      "line_count": 10,
      "token_estimate": 61,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 10,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\dashboard-01\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 70,
      "token_estimate": 530,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0614,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 70,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.83,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014286,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.33,
        "mechanical": 82.33,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\login-02\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 698,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0648,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 54,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.16,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015152,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.01,
        "mechanical": 83.01,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\account-access.tsx",
      "language": "tsx",
      "line_count": 103,
      "token_estimate": 752,
      "functions": [
        {
          "name": "AccountAccess",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 80,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 80 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 80 lines (> 37 dynamic threshold)",
                "impact": "Function AccountAccess is 80 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0437,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 80,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 103,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.87,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009709,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.57,
        "mechanical": 82.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\empty-connect-bank.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 293,
      "functions": [
        {
          "name": "EmptyConnectBank",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\new-milestone.tsx",
      "language": "tsx",
      "line_count": 55,
      "token_estimate": 399,
      "functions": [
        {
          "name": "NewMilestone",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function NewMilestone is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0875,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 55,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.52,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.018182,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.45,
        "mechanical": 86.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\recent-transactions.tsx",
      "language": "tsx",
      "line_count": 308,
      "token_estimate": 3023,
      "functions": [
        {
          "name": "RecentTransactions",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 307,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 279,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 29,
              "description": "Function is 279 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 279 lines (> 37 dynamic threshold)",
                "impact": "Function RecentTransactions is 279 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0125,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 279,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 308,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.34,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.003247,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.19,
        "mechanical": 84.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\syncing-state.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 244,
      "functions": [
        {
          "name": "SyncingState",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.6,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.1,
        "mechanical": 96.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\bar-chart-card.tsx",
      "language": "tsx",
      "line_count": 130,
      "token_estimate": 996,
      "functions": [
        {
          "name": "BarChartCard",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 79,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 51,
              "description": "Function is 79 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 79 lines (> 37 dynamic threshold)",
                "impact": "Function BarChartCard is 79 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 79,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 83,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1772,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 79,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 130,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.030769,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.31,
        "mechanical": 77.31,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\file-upload.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 328,
      "functions": [
        {
          "name": "FileUpload",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.31,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\observability-card.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 426,
      "functions": [
        {
          "name": "ObservabilityCard",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 18,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0946,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.95,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.019608,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.0,
        "mechanical": 87.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\typography-specimen.tsx",
      "language": "tsx",
      "line_count": 141,
      "token_estimate": 1232,
      "functions": [
        {
          "name": "TypographySpecimen",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 110,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 31,
              "description": "Function is 110 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 110 lines (> 37 dynamic threshold)",
                "impact": "Function TypographySpecimen is 110 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 44,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 44,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1273,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 110,
        "function_length_stddev": 0.0,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 141,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.028369,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 70.41,
        "mechanical": 70.41,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-01\\components\\version-switcher.tsx",
      "language": "tsx",
      "line_count": 86,
      "token_estimate": 665,
      "functions": [
        {
          "name": "VersionSwitcher",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function VersionSwitcher is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 25,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1029,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 68,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 86,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.87,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.023256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.19,
        "mechanical": 79.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-04\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 216,
      "token_estimate": 1242,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 159,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 190,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 200,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2456,
          "ai_signals": [
            "High anti-pattern density (0.70)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 215,
        "comment_ratio": 0.0046,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.018605,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.25,
        "mechanical": 81.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-06\\page.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 446,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.51,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-08\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 600,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 66,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 66 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 66 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 66 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 47,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 72,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 53,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 52,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 70,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 66,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.85,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.068966,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.76,
        "mechanical": 67.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-10\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 361,
      "token_estimate": 1981,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 345,
          "line_end": 360,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 349,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 350,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 353,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 354,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 355,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 360,
        "comment_ratio": 0.0028,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.15,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.013889,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.73,
        "mechanical": 94.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-11\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 164,
      "token_estimate": 1052,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 68,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 99,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.332,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.81)"
          ]
        },
        {
          "name": "Tree",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 110,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function Tree is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 156,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2909,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.81)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 47.5,
        "function_length_stddev": 9.19,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 163,
        "comment_ratio": 0.0061,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.11,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.02454,
        "structural_uniformity": 0.8065,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.11,
        "mechanical": 79.11,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-13\\page.tsx",
      "language": "tsx",
      "line_count": 10,
      "token_estimate": 62,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 10,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.6,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-15\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 146,
      "token_estimate": 1182,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 121,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 121 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 121 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 121 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 45,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0868,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 121,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 146,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.09,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.020548,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.61,
        "mechanical": 78.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-16\\components\\nav-projects.tsx",
      "language": "tsx",
      "line_count": 118,
      "token_estimate": 930,
      "functions": [
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 97,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 97 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 97 lines (> 37 dynamic threshold)",
                "impact": "Function NavProjects is 97 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 37,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0722,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 97,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 118,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.32,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.016949,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.76,
        "mechanical": 80.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\signup-02\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 93,
      "token_estimate": 881,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0432,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 81,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 93,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.56,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010753,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.31,
        "mechanical": 82.31,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\components\\_registry.ts",
      "language": "typescript",
      "line_count": 16,
      "token_estimate": 73,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\badge-example.tsx",
      "language": "tsx",
      "line_count": 340,
      "token_estimate": 2456,
      "functions": [
        {
          "name": "BadgeExample",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0602,
          "ai_signals": []
        },
        {
          "name": "BadgeVariants",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0602,
          "ai_signals": []
        },
        {
          "name": "BadgeWithIconLeft",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 111,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 74,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 38,
              "description": "Function is 74 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 74 lines (> 37 dynamic threshold)",
                "impact": "Function BadgeWithIconLeft is 74 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1075,
          "ai_signals": []
        },
        {
          "name": "BadgeWithIconRight",
          "type": "function_declaration",
          "line_start": 113,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 74,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 113,
              "description": "Function is 74 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 74 lines (> 37 dynamic threshold)",
                "impact": "Function BadgeWithIconRight is 74 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1075,
          "ai_signals": []
        },
        {
          "name": "BadgeWithSpinner",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 219,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0602,
          "ai_signals": []
        },
        {
          "name": "BadgeAsLink",
          "type": "function_declaration",
          "line_start": 221,
          "line_end": 291,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 71,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 221,
              "description": "Function is 71 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 71 lines (> 37 dynamic threshold)",
                "impact": "Function BadgeAsLink is 71 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 225,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1588,
          "ai_signals": []
        },
        {
          "name": "BadgeLongText",
          "type": "function_declaration",
          "line_start": 293,
          "line_end": 303,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0602,
          "ai_signals": []
        },
        {
          "name": "BadgeCustomColors",
          "type": "function_declaration",
          "line_start": 305,
          "line_end": 339,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0602,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 40.5,
        "function_length_stddev": 28.3,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 340,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.011765,
        "structural_uniformity": 0.3012,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.91,
        "mechanical": 87.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\checkbox-example.tsx",
      "language": "tsx",
      "line_count": 261,
      "token_estimate": 1679,
      "functions": [
        {
          "name": "CheckboxExample",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0314,
          "ai_signals": []
        },
        {
          "name": "CheckboxBasic",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0314,
          "ai_signals": []
        },
        {
          "name": "CheckboxWithDescription",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0314,
          "ai_signals": []
        },
        {
          "name": "CheckboxInvalid",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0314,
          "ai_signals": []
        },
        {
          "name": "CheckboxDisabled",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0314,
          "ai_signals": []
        },
        {
          "name": "CheckboxWithTitle",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0314,
          "ai_signals": []
        },
        {
          "name": "CheckboxInTable",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 214,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 67,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 148,
              "description": "Function is 67 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 67 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxInTable is 67 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 197,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1359,
          "ai_signals": []
        },
        {
          "name": "CheckboxGroup",
          "type": "function_declaration",
          "line_start": 216,
          "line_end": 260,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 216,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxGroup is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1092,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 25,
        "function_length_stddev": 21.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 261,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.1571,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.63,
        "mechanical": 92.63,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\drawer-example.tsx",
      "language": "tsx",
      "line_count": 123,
      "token_estimate": 1080,
      "functions": [
        {
          "name": "DrawerExample",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0618,
          "ai_signals": []
        },
        {
          "name": "DrawerWithSides",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 30,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerWithSides is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 38,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 38,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2599,
          "ai_signals": [
            "High anti-pattern density (0.57)"
          ]
        },
        {
          "name": "DrawerScrollableContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 84,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerScrollableContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1516,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 33.33,
        "function_length_stddev": 23.03,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 123,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.93,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.03252,
        "structural_uniformity": 0.3091,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.87,
        "mechanical": 84.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\item-example.tsx",
      "language": "tsx",
      "line_count": 2028,
      "token_estimate": 15153,
      "functions": [
        {
          "name": "ItemExample",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1101,
          "ai_signals": []
        },
        {
          "name": "DefaultVariantItems",
          "type": "function_declaration",
          "line_start": 53,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 121,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 53,
              "description": "Function is 121 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 121 lines (> 37 dynamic threshold)",
                "impact": "Function DefaultVariantItems is 121 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.139,
          "ai_signals": []
        },
        {
          "name": "OutlineVariantItems",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 295,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 121,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 175,
              "description": "Function is 121 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 121 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineVariantItems is 121 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.139,
          "ai_signals": []
        },
        {
          "name": "MutedVariantItems",
          "type": "function_declaration",
          "line_start": 297,
          "line_end": 417,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 121,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 297,
              "description": "Function is 121 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 121 lines (> 37 dynamic threshold)",
                "impact": "Function MutedVariantItems is 121 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.139,
          "ai_signals": []
        },
        {
          "name": "DefaultVariantItemsSmall",
          "type": "function_declaration",
          "line_start": 419,
          "line_end": 543,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 125,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 419,
              "description": "Function is 125 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 125 lines (> 37 dynamic threshold)",
                "impact": "Function DefaultVariantItemsSmall is 125 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1381,
          "ai_signals": []
        },
        {
          "name": "OutlineVariantItemsSmall",
          "type": "function_declaration",
          "line_start": 545,
          "line_end": 669,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 125,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 545,
              "description": "Function is 125 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 125 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineVariantItemsSmall is 125 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1381,
          "ai_signals": []
        },
        {
          "name": "MutedVariantItemsSmall",
          "type": "function_declaration",
          "line_start": 671,
          "line_end": 795,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 125,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 671,
              "description": "Function is 125 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 125 lines (> 37 dynamic threshold)",
                "impact": "Function MutedVariantItemsSmall is 125 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1381,
          "ai_signals": []
        },
        {
          "name": "DefaultVariantItemsExtraSmall",
          "type": "function_declaration",
          "line_start": 797,
          "line_end": 921,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 125,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 797,
              "description": "Function is 125 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 125 lines (> 37 dynamic threshold)",
                "impact": "Function DefaultVariantItemsExtraSmall is 125 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1381,
          "ai_signals": []
        },
        {
          "name": "OutlineVariantItemsExtraSmall",
          "type": "function_declaration",
          "line_start": 923,
          "line_end": 1047,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 125,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 923,
              "description": "Function is 125 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 125 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineVariantItemsExtraSmall is 125 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1381,
          "ai_signals": []
        },
        {
          "name": "MutedVariantItemsExtraSmall",
          "type": "function_declaration",
          "line_start": 1049,
          "line_end": 1173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 125,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1049,
              "description": "Function is 125 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 125 lines (> 37 dynamic threshold)",
                "impact": "Function MutedVariantItemsExtraSmall is 125 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1381,
          "ai_signals": []
        },
        {
          "name": "DefaultLinkItems",
          "type": "function_declaration",
          "line_start": 1175,
          "line_end": 1239,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1175,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function DefaultLinkItems is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.164,
          "ai_signals": []
        },
        {
          "name": "OutlineLinkItems",
          "type": "function_declaration",
          "line_start": 1241,
          "line_end": 1305,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1241,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineLinkItems is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.164,
          "ai_signals": []
        },
        {
          "name": "MutedLinkItems",
          "type": "function_declaration",
          "line_start": 1307,
          "line_end": 1371,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1307,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function MutedLinkItems is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.164,
          "ai_signals": []
        },
        {
          "name": "DefaultItemGroup",
          "type": "function_declaration",
          "line_start": 1373,
          "line_end": 1398,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1101,
          "ai_signals": []
        },
        {
          "name": "OutlineItemGroup",
          "type": "function_declaration",
          "line_start": 1400,
          "line_end": 1452,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1400,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineItemGroup is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1762,
          "ai_signals": []
        },
        {
          "name": "MutedItemGroup",
          "type": "function_declaration",
          "line_start": 1454,
          "line_end": 1494,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1454,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function MutedItemGroup is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1955,
          "ai_signals": []
        },
        {
          "name": "ItemSeparatorExample",
          "type": "function_declaration",
          "line_start": 1496,
          "line_end": 1566,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 71,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1496,
              "description": "Function is 71 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 71 lines (> 37 dynamic threshold)",
                "impact": "Function ItemSeparatorExample is 71 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1594,
          "ai_signals": []
        },
        {
          "name": "ItemHeaderExamples",
          "type": "function_declaration",
          "line_start": 1568,
          "line_end": 1609,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1568,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function ItemHeaderExamples is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1935,
          "ai_signals": []
        },
        {
          "name": "ItemFooterExamples",
          "type": "function_declaration",
          "line_start": 1611,
          "line_end": 1656,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1611,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function ItemFooterExamples is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1862,
          "ai_signals": []
        },
        {
          "name": "ItemHeaderAndFooterExamples",
          "type": "function_declaration",
          "line_start": 1658,
          "line_end": 1714,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1658,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function ItemHeaderAndFooterExamples is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1715,
          "ai_signals": []
        },
        {
          "name": "DefaultVariantItemsWithImage",
          "type": "function_declaration",
          "line_start": 1716,
          "line_end": 1778,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1716,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function DefaultVariantItemsWithImage is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1657,
          "ai_signals": []
        },
        {
          "name": "OutlineVariantItemsWithImage",
          "type": "function_declaration",
          "line_start": 1780,
          "line_end": 1842,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1780,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineVariantItemsWithImage is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1657,
          "ai_signals": []
        },
        {
          "name": "OutlineVariantItemsWithImageSmall",
          "type": "function_declaration",
          "line_start": 1844,
          "line_end": 1906,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1844,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineVariantItemsWithImageSmall is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1657,
          "ai_signals": []
        },
        {
          "name": "OutlineVariantItemsWithImageExtraSmall",
          "type": "function_declaration",
          "line_start": 1908,
          "line_end": 1963,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1908,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineVariantItemsWithImageExtraSmall is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1726,
          "ai_signals": []
        },
        {
          "name": "MutedVariantItemsWithImage",
          "type": "function_declaration",
          "line_start": 1965,
          "line_end": 2027,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1965,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function MutedVariantItemsWithImage is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1657,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 25,
        "avg_function_length": 79.28,
        "function_length_stddev": 35.63,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 2028,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.85,
        "debug_artifacts": [],
        "ai_smell_count": 23,
        "ai_smell_density": 0.011341,
        "structural_uniformity": 0.5506,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.16,
        "mechanical": 82.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\progress-example.tsx",
      "language": "tsx",
      "line_count": 143,
      "token_estimate": 826,
      "functions": [
        {
          "name": "ProgressExample",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0008,
          "ai_signals": []
        },
        {
          "name": "ProgressValues",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 40,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 41,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 42,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 43,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 44,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3508,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ProgressWithLabel",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0008,
          "ai_signals": []
        },
        {
          "name": "ProgressControlled",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 67,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 68,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 70,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 70,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3508,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "FileUploadList",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 80,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function FileUploadList is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 130,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1119,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 22.8,
        "function_length_stddev": 22.71,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 143,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 12,
        "ai_smell_density": 0.083916,
        "structural_uniformity": 0.004,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.18,
        "mechanical": 75.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\sidebar-floating-example.tsx",
      "language": "tsx",
      "line_count": 276,
      "token_estimate": 1853,
      "functions": [
        {
          "name": "SidebarFloatingExample",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 275,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 234,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 234 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 234 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarFloatingExample is 234 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 216,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 211,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0449,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 234,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 276,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.37,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.01087,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.28,
        "mechanical": 82.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\table-example.tsx",
      "language": "tsx",
      "line_count": 485,
      "token_estimate": 3766,
      "functions": [
        {
          "name": "TableExample",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0787,
          "ai_signals": []
        },
        {
          "name": "TableBasic",
          "type": "function_declaration",
          "line_start": 95,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0787,
          "ai_signals": []
        },
        {
          "name": "TableWithFooter",
          "type": "function_declaration",
          "line_start": 125,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0787,
          "ai_signals": []
        },
        {
          "name": "TableSimple",
          "type": "function_declaration",
          "line_start": 161,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0787,
          "ai_signals": []
        },
        {
          "name": "TableWithBadges",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 194,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function TableWithBadges is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1412,
          "ai_signals": []
        },
        {
          "name": "TableWithActions",
          "type": "function_declaration",
          "line_start": 251,
          "line_end": 357,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 107,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 251,
              "description": "Function is 107 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 107 lines (> 37 dynamic threshold)",
                "impact": "Function TableWithActions is 107 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1115,
          "ai_signals": []
        },
        {
          "name": "TableWithSelect",
          "type": "function_declaration",
          "line_start": 384,
          "line_end": 430,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 384,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function TableWithSelect is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1532,
          "ai_signals": []
        },
        {
          "name": "TableWithInput",
          "type": "function_declaration",
          "line_start": 432,
          "line_end": 484,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 432,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function TableWithInput is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1448,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 46.5,
        "function_length_stddev": 28.19,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 485,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.68,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.008247,
        "structural_uniformity": 0.3937,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.99,
        "mechanical": 86.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\internal\\_registry.ts",
      "language": "typescript",
      "line_count": 4,
      "token_estimate": 23,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 4,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 73,
      "token_estimate": 398,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 73,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 95,
      "token_estimate": 515,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 53,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 10.57,
        "function_length_stddev": 2.07,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 95,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8042,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.83,
        "mechanical": 99.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 157,
      "token_estimate": 932,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function DialogContent is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0778,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 95,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 122,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.5,
        "function_length_stddev": 13.44,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 157,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.45,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006369,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.2,
        "mechanical": 97.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 93,
      "token_estimate": 553,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1143,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1143,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.235,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1143,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 19.75,
        "function_length_stddev": 8.46,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 93,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.8,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010753,
        "structural_uniformity": 0.5716,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.14,
        "mechanical": 93.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 157,
      "token_estimate": 910,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.103,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.103,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.103,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 51,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 57,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4073,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.103,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.103,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 122,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.103,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 18.43,
        "function_length_stddev": 8.94,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 157,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.76,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.012739,
        "structural_uniformity": 0.5148,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.57,
        "mechanical": 93.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 141,
      "token_estimate": 987,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0729,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 11.1,
        "function_length_stddev": 13.49,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 141,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.71,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007092,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.67,
        "mechanical": 97.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 806,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 3.4,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7525,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\dashboard-01\\components\\data-table.tsx",
      "language": "tsx",
      "line_count": 884,
      "token_estimate": 7468,
      "functions": [
        {
          "name": "DragHandle",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 108,
              "description": "Function is 25 lines (> 22 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 25 lines (> 22 dynamic threshold)",
                "impact": "Function DragHandle is 25 lines \u2014 exceeds 22 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.34,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 137,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 138,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 138,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.55,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 142,
          "line_end": 153,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4917,
          "ai_signals": [
            "High anti-pattern density (0.83)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 154,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 156,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.55,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 169,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 170,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.55,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 177,
          "line_end": 183,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 188,
          "line_end": 210,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 214,
          "line_end": 214,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 215,
          "line_end": 235,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 239,
          "line_end": 239,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 240,
          "line_end": 260,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 265,
          "line_end": 296,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 273,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.3094,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 300,
          "line_end": 326,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "DraggableRow",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 353,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "DataTable",
          "type": "function_declaration",
          "line_start": 355,
          "line_end": 691,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 337,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 355,
              "description": "Function is 337 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 337 lines (> 37 dynamic threshold)",
                "impact": "Function DataTable is 337 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 553,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 587,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 380,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 547,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 360,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 361,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 368,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2831,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "TableCellViewer",
          "type": "function_declaration",
          "line_start": 713,
          "line_end": 883,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 171,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 713,
              "description": "Function is 171 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 171 lines (> 37 dynamic threshold)",
                "impact": "Function TableCellViewer is 171 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 742,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 751,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 732,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2819,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 17,
        "avg_function_length": 42.12,
        "function_length_stddev": 85.62,
        "import_count": 23,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 883,
        "comment_ratio": 0.0011,
        "comment_what_ratio": 1.0,
        "naming_avg_length": 7.49,
        "debug_artifacts": [],
        "ai_smell_count": 18,
        "ai_smell_density": 0.020385,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.91,
        "mechanical": 83.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\login-01\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 71,
      "token_estimate": 525,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.066,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 71,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.59,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014085,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.58,
        "mechanical": 83.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\login-05\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 926,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 72,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 72 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 72 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 72 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0486,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 72,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.19,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.13,
        "mechanical": 82.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\cover-art.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 441,
      "functions": [
        {
          "name": "CoverArt",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function CoverArt is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-form-missing-labels",
              "severity": "high",
              "line": 37,
              "description": "Form input without associated label - screen readers cannot identify what the input is for",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1489,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.39,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033898,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.43,
        "mechanical": 80.43,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\kitchen-island.tsx",
      "language": "tsx",
      "line_count": 183,
      "token_estimate": 1492,
      "functions": [
        {
          "name": "KitchenIsland",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 147,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 36,
              "description": "Function is 147 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 147 lines (> 37 dynamic threshold)",
                "impact": "Function KitchenIsland is 147 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 60,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 103,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 126,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 148,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 170,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 47,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 47,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 37,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 38,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 39,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 40,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 41,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 42,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3333,
          "ai_signals": [
            "High anti-pattern density (0.95)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 147,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 183,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 14,
        "ai_smell_density": 0.076503,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 65.87,
        "mechanical": 65.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\qr-connect.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 245,
      "functions": [
        {
          "name": "QrConnect",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\social-links.tsx",
      "language": "tsx",
      "line_count": 106,
      "token_estimate": 832,
      "functions": [
        {
          "name": "SocialLinks",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function SocialLinks is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0393,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 89,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 106,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009434,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.64,
        "mechanical": 82.64,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\anomaly-alert.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 202,
      "functions": [
        {
          "name": "AnomalyAlert",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.81,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\environment-variables.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 310,
      "functions": [
        {
          "name": "EnvironmentVariables",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\no-team-members.tsx",
      "language": "tsx",
      "line_count": 64,
      "token_estimate": 451,
      "functions": [
        {
          "name": "NoTeamMembers",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function NoTeamMembers is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 30,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 37,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 44,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 64,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.51,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.0625,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.17,
        "mechanical": 74.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\sleep-report.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 720,
      "functions": [
        {
          "name": "SleepReport",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 47,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function SleepReport is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0603,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.85,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009524,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.22,
        "mechanical": 83.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-01\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 183,
      "token_estimate": 962,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 150,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 170,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2121,
          "ai_signals": [
            "High anti-pattern density (0.61)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 182,
        "comment_ratio": 0.0055,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.95,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.010989,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.35,
        "mechanical": 90.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-03\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 218,
      "token_estimate": 1230,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 161,
          "line_end": 217,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 161,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 194,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 203,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2456,
          "ai_signals": [
            "High anti-pattern density (0.70)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 217,
        "comment_ratio": 0.0046,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.018433,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.29,
        "mechanical": 81.29,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-06\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 73,
      "token_estimate": 512,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 61,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 53,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1909,
          "ai_signals": [
            "High anti-pattern density (0.55)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 55,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 73,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.17,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.041096,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.23,
        "mechanical": 76.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-07\\page.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 504,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.28,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.84,
        "mechanical": 86.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-09\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 144,
      "token_estimate": 1211,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 72,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0882,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 144,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.79,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.54,
        "mechanical": 78.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-10\\components\\team-switcher.tsx",
      "language": "tsx",
      "line_count": 98,
      "token_estimate": 752,
      "functions": [
        {
          "name": "TeamSwitcher",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function TeamSwitcher is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 30,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0909,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 77,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 98,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.27,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.020408,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.4,
        "mechanical": 74.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-12\\page.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 349,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 37,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1167,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.41,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.44,
        "mechanical": 88.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-15\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 159,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 24,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.029412,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.15,
        "mechanical": 88.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-16\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 257,
      "token_estimate": 1495,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 216,
          "line_end": 256,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 216,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 247,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 248,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 249,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 252,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 257,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.52,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.019455,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.84,
        "mechanical": 85.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\signup-01\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 616,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0583,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 60,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.14,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012987,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.75,
        "mechanical": 81.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\signup-05\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 928,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 72,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 72 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 72 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 72 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0486,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 72,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.23,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.13,
        "mechanical": 82.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\aspect-ratio-example.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 591,
      "functions": [
        {
          "name": "AspectRatioExample",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "AspectRatio16x9",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "AspectRatio1x1",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "AspectRatio9x16",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "AspectRatio21x9",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 15.6,
        "function_length_stddev": 3.13,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7993,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.32,
        "mechanical": 98.32,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\carousel-example.tsx",
      "language": "tsx",
      "line_count": 100,
      "token_estimate": 771,
      "functions": [
        {
          "name": "CarouselExample",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1212,
          "ai_signals": []
        },
        {
          "name": "CarouselBasic",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1212,
          "ai_signals": []
        },
        {
          "name": "CarouselMultiple",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1212,
          "ai_signals": []
        },
        {
          "name": "CarouselWithGap",
          "type": "function_declaration",
          "line_start": 77,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1212,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 20.75,
        "function_length_stddev": 8.18,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 100,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.13,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6058,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.78,
        "mechanical": 96.78,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\demo.tsx",
      "language": "tsx",
      "line_count": 410,
      "token_estimate": 4256,
      "functions": [
        {
          "name": "Demo",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 409,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 351,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 351 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 351 lines (> 37 dynamic threshold)",
                "impact": "Function Demo is 351 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 288,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 100,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 100,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 61,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0499,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 351,
        "function_length_stddev": 0.0,
        "import_count": 16,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 410,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.58,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.012195,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.95,
        "mechanical": 81.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\input-group-example.tsx",
      "language": "tsx",
      "line_count": 888,
      "token_estimate": 7614,
      "functions": [
        {
          "name": "InputGroupExample",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 1,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 63,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4281,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputGroupBasic",
          "type": "function_declaration",
          "line_start": 78,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 78,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupBasic is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1656,
          "ai_signals": []
        },
        {
          "name": "InputGroupWithAddons",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 293,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 175,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 175 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 175 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithAddons is 175 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0981,
          "ai_signals": []
        },
        {
          "name": "InputGroupWithButtons",
          "type": "function_declaration",
          "line_start": 295,
          "line_end": 357,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 295,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithButtons is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1337,
          "ai_signals": []
        },
        {
          "name": "InputGroupWithTooltip",
          "type": "function_declaration",
          "line_start": 359,
          "line_end": 487,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 129,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 359,
              "description": "Function is 129 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 129 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithTooltip is 129 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1052,
          "ai_signals": []
        },
        {
          "name": "InputGroupWithKbd",
          "type": "function_declaration",
          "line_start": 489,
          "line_end": 646,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 158,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 489,
              "description": "Function is 158 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 158 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithKbd is 158 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1003,
          "ai_signals": []
        },
        {
          "name": "InputGroupInCard",
          "type": "function_declaration",
          "line_start": 648,
          "line_end": 719,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 72,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 648,
              "description": "Function is 72 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 72 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupInCard is 72 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1267,
          "ai_signals": []
        },
        {
          "name": "InputGroupTextareaExamples",
          "type": "function_declaration",
          "line_start": 721,
          "line_end": 887,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 167,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 721,
              "description": "Function is 167 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 167 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupTextareaExamples is 167 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 845,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.12,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 11,
              "description": "Unused import: import {\n  ButtonGroup,\n  ButtonGroupText,\n} from \"@/registry/bases/radix/ui/button-group\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'ButtonGroup' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  ButtonGroup,\n  ButtonGroupText,\n} from \"@/registry/bases/radix/ui/button-group\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 11,
              "description": "Unused import: import {\n  ButtonGroup,\n  ButtonGroupText,\n} from \"@/registry/bases/radix/ui/button-group\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'ButtonGroupText' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  ButtonGroup,\n  ButtonGroupText,\n} from \"@/registry/bases/radix/ui/button-group\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 102.38,
        "function_length_stddev": 62.39,
        "import_count": 16,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 888,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.59,
        "debug_artifacts": [
          "console.log line 845"
        ],
        "ai_smell_count": 10,
        "ai_smell_density": 0.011261,
        "structural_uniformity": 0.3905,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 2
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.18,
        "mechanical": 80.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\pagination-example.tsx",
      "language": "tsx",
      "line_count": 127,
      "token_estimate": 882,
      "functions": [
        {
          "name": "PaginationExample",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1116,
          "ai_signals": []
        },
        {
          "name": "PaginationBasic",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1116,
          "ai_signals": []
        },
        {
          "name": "PaginationSimple",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1116,
          "ai_signals": []
        },
        {
          "name": "PaginationIconsOnly",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1116,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 25,
        "function_length_stddev": 11.05,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 127,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5582,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\sheet-example.tsx",
      "language": "tsx",
      "line_count": 143,
      "token_estimate": 1212,
      "functions": [
        {
          "name": "SheetExample",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0719,
          "ai_signals": []
        },
        {
          "name": "SheetWithForm",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 29,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function SheetWithForm is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.164,
          "ai_signals": []
        },
        {
          "name": "SheetNoCloseButton",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0719,
          "ai_signals": []
        },
        {
          "name": "SheetWithSides",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 52,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 91,
              "description": "Function is 52 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 52 lines (> 37 dynamic threshold)",
                "impact": "Function SheetWithSides is 52 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1392,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 29.75,
        "function_length_stddev": 19.05,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 143,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.7,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.013986,
        "structural_uniformity": 0.3597,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.58,
        "mechanical": 90.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\spinner-example.tsx",
      "language": "tsx",
      "line_count": 148,
      "token_estimate": 1006,
      "functions": [
        {
          "name": "SpinnerExample",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0945,
          "ai_signals": []
        },
        {
          "name": "SpinnerBasic",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0945,
          "ai_signals": []
        },
        {
          "name": "SpinnerInButtons",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0945,
          "ai_signals": []
        },
        {
          "name": "SpinnerInBadges",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0945,
          "ai_signals": []
        },
        {
          "name": "SpinnerInInputGroup",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0945,
          "ai_signals": []
        },
        {
          "name": "SpinnerInEmpty",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 110,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function SpinnerInEmpty is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1866,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 19.83,
        "function_length_stddev": 10.46,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 148,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006757,
        "structural_uniformity": 0.4727,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.36,
        "mechanical": 95.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\hooks\\_registry.ts",
      "language": "typescript",
      "line_count": 15,
      "token_estimate": 64,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 98,
      "token_estimate": 715,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 35,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function AccordionTrigger is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1752,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 21,
        "function_length_stddev": 12.27,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 98,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.96,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010204,
        "structural_uniformity": 0.4155,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.15,
        "mechanical": 94.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 421,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.9,
        "mechanical": 93.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 204,
      "token_estimate": 1173,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 127,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 140,
          "line_end": 151,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 153,
          "line_end": 178,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 180,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 18.22,
        "function_length_stddev": 8.03,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 204,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.86,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5595,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.53,
        "mechanical": 97.53,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 290,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 11,
        "function_length_stddev": 8.72,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.76,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2075,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 402,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0076,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0076,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0076,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 16,
        "function_length_stddev": 15.39,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0378,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 216,
      "token_estimate": 1521,
      "functions": [
        {
          "name": "Select",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0777,
          "ai_signals": []
        },
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0777,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0777,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0777,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0777,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0777,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0777,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 149,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0777,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 162,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0777,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 183,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0777,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.5,
        "function_length_stddev": 11.32,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 216,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 220,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.29,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\config.ts",
      "language": "typescript",
      "line_count": 576,
      "token_estimate": 3896,
      "functions": [
        {
          "name": "getBodyFont",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getHeadingFont",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getInheritedHeadingFontValue",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 52,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "getThemesForBaseColor",
          "type": "function_declaration",
          "line_start": 407,
          "line_end": 416,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getBase",
          "type": "function_declaration",
          "line_start": 418,
          "line_end": 420,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getStyle",
          "type": "function_declaration",
          "line_start": 422,
          "line_end": 424,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getTheme",
          "type": "function_declaration",
          "line_start": 426,
          "line_end": 428,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getBaseColor",
          "type": "function_declaration",
          "line_start": 430,
          "line_end": 432,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getIconLibrary",
          "type": "function_declaration",
          "line_start": 434,
          "line_end": 436,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "buildRegistryTheme",
          "type": "function_declaration",
          "line_start": 439,
          "line_end": 501,
          "metrics": {
            "cyclomatic_complexity": 13,
            "max_nesting_depth": 3,
            "parameter_count": 1,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 439,
              "description": "Function is 63 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 15 dynamic threshold)",
                "impact": "Function buildRegistryTheme is 63 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 451,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 452,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 455,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 456,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 463,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 464,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 451,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 452,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 455,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 456,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 463,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 464,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 451,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 452,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 455,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 456,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 463,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 464,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "buildRegistryBase",
          "type": "function_declaration",
          "line_start": 504,
          "line_end": 575,
          "metrics": {
            "cyclomatic_complexity": 13,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 72,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 504,
              "description": "Function is 72 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 72 lines (> 15 dynamic threshold)",
                "impact": "Function buildRegistryBase is 72 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 529,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0972,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 11,
        "avg_function_length": 15.73,
        "function_length_stddev": 25.78,
        "import_count": 7,
        "export_count": 38,
        "comment_lines": 15,
        "code_lines": 561,
        "comment_ratio": 0.026,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.81,
        "debug_artifacts": [],
        "ai_smell_count": 22,
        "ai_smell_density": 0.039216,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.7,
        "mechanical": 81.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\icons\\icon-hugeicons.tsx",
      "language": "tsx",
      "line_count": 4,
      "token_estimate": 29,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 4,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\dashboard-01\\components\\data-table.tsx",
      "language": "tsx",
      "line_count": 808,
      "token_estimate": 6718,
      "functions": [
        {
          "name": "DragHandle",
          "type": "function_declaration",
          "line_start": 120,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 142,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 143,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 143,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.55,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 147,
          "line_end": 158,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 149,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4917,
          "ai_signals": [
            "High anti-pattern density (0.83)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 159,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 161,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.55,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 174,
          "line_end": 176,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.55,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 182,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 193,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 206,
          "line_end": 206,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 207,
          "line_end": 227,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "header",
          "type": "arrow_function",
          "line_start": 231,
          "line_end": 231,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 232,
          "line_end": 252,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 257,
          "line_end": 286,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 265,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.3167,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "cell",
          "type": "arrow_function",
          "line_start": 290,
          "line_end": 310,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "DraggableRow",
          "type": "function_declaration",
          "line_start": 314,
          "line_end": 337,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "DataTable",
          "type": "function_declaration",
          "line_start": 339,
          "line_end": 628,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 290,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 339,
              "description": "Function is 290 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 290 lines (> 37 dynamic threshold)",
                "impact": "Function DataTable is 290 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 516,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 550,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 364,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 510,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 344,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 345,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 352,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2966,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        },
        {
          "name": "TableCellViewer",
          "type": "function_declaration",
          "line_start": 650,
          "line_end": 807,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 158,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 650,
              "description": "Function is 158 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 158 lines (> 37 dynamic threshold)",
                "impact": "Function TableCellViewer is 158 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 679,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 688,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 669,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2886,
          "ai_signals": [
            "Comments explain 'what' not 'why' (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 17,
        "avg_function_length": 36.94,
        "function_length_stddev": 74.74,
        "import_count": 23,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 807,
        "comment_ratio": 0.0012,
        "comment_what_ratio": 1.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 17,
        "ai_smell_density": 0.021066,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.3,
        "mechanical": 85.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\login-01\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 71,
      "token_estimate": 525,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.066,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 71,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.61,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014085,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.58,
        "mechanical": 83.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\login-05\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 853,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0538,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.94,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012658,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.84,
        "mechanical": 81.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-02\\components\\version-switcher.tsx",
      "language": "tsx",
      "line_count": 65,
      "token_estimate": 501,
      "functions": [
        {
          "name": "VersionSwitcher",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function VersionSwitcher is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 25,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1489,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 65,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.47,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.030769,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.21,
        "mechanical": 81.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-05\\page.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 445,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.71,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-07\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 858,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.128,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 82,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.1,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.026087,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.23,
        "mechanical": 77.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-08\\page.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 479,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.56,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.84,
        "mechanical": 86.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-10\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 260,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 31,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.51,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022727,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.02,
        "mechanical": 88.02,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-12\\components\\date-picker.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 122,
      "functions": [
        {
          "name": "DatePicker",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-15\\components\\date-picker.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 122,
      "functions": [
        {
          "name": "DatePicker",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-15\\components\\team-switcher.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 637,
      "functions": [
        {
          "name": "TeamSwitcher",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function TeamSwitcher is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 30,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1111,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.95,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.02381,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.55,
        "mechanical": 73.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-16\\components\\site-header.tsx",
      "language": "tsx",
      "line_count": 49,
      "token_estimate": 380,
      "functions": [
        {
          "name": "SiteHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 49,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\signup-04\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 1632,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 102,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 102 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 102 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 102 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 100,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0686,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 102,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.05,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017391,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.65,
        "mechanical": 80.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-area-icons.tsx",
      "language": "tsx",
      "line_count": 113,
      "token_estimate": 761,
      "functions": [
        {
          "name": "ChartAreaIcons",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 66,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 47,
              "description": "Function is 66 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 66 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaIcons is 66 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2121,
          "ai_signals": [
            "High anti-pattern density (0.61)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 66,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 113,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.035398,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.15,
        "mechanical": 76.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-bar-default.tsx",
      "language": "tsx",
      "line_count": 76,
      "token_estimate": 506,
      "functions": [
        {
          "name": "ChartBarDefault",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 49,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 57,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1892,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 76,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.29,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.026316,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.32,
        "mechanical": 85.32,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-bar-stacked.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 627,
      "functions": [
        {
          "name": "ChartBarStacked",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function ChartBarStacked is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 63,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 64,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3043,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.043956,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.21,
        "mechanical": 78.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-line-linear.tsx",
      "language": "tsx",
      "line_count": 89,
      "token_estimate": 571,
      "functions": [
        {
          "name": "ChartLineLinear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLineLinear is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 64,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.21,
          "ai_signals": [
            "High anti-pattern density (0.60)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 89,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.29,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033708,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.57,
        "mechanical": 79.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-pie-label-list.tsx",
      "language": "tsx",
      "line_count": 98,
      "token_estimate": 666,
      "functions": [
        {
          "name": "ChartPieLabelList",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 57,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartPieLabelList is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 80,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 80,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 80,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 98,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.74,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.05102,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.94,
        "mechanical": 77.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-grid-circle-fill.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 545,
      "functions": [
        {
          "name": "ChartRadarGridCircleFill",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarGridCircleFill is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.175,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.15,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.025316,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.67,
        "mechanical": 84.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-legend.tsx",
      "language": "tsx",
      "line_count": 95,
      "token_estimate": 641,
      "functions": [
        {
          "name": "ChartRadarLegend",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarLegend is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 68,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 95,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.15,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021053,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.74,
        "mechanical": 82.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radial-stacked.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 878,
      "functions": [
        {
          "name": "ChartRadialStacked",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 78,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 78 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 78 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadialStacked is 78 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 76,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 81,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1346,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 4,
              "description": "Unused import: import {\n  Label,\n  PolarGrid,\n  PolarRadiusAxis,\n  RadialBar,\n  RadialBarChart,\n} from \"recharts\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'PolarGrid' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Label,\n  PolarGrid,\n  PolarRadiusAxis,\n  RadialBar,\n  RadialBarChart,\n} from \"recharts\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 78,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.44,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.025,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.75,
        "mechanical": 78.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-tooltip-label-custom.tsx",
      "language": "tsx",
      "line_count": 92,
      "token_estimate": 582,
      "functions": [
        {
          "name": "ChartTooltipLabelCustom",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 44,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipLabelCustom is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 79,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 48,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 92,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.73,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021739,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.17,
        "mechanical": 83.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\aspect-ratio-demo.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 126,
      "functions": [
        {
          "name": "AspectRatioDemo",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.28,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\breadcrumb-ellipsis.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 244,
      "functions": [
        {
          "name": "BreadcrumbCollapsed",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 19,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 29,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2799,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.24,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.05,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.4,
        "mechanical": 82.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-ghost.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 37,
      "functions": [
        {
          "name": "ButtonGhost",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-group-select.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 366,
      "functions": [
        {
          "name": "ButtonGroupSelect",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 32,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1296,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017241,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.59,
        "mechanical": 90.59,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-rounded.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 81,
      "functions": [
        {
          "name": "ButtonRounded",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.12,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\carousel-api.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 366,
      "functions": [
        {
          "name": "CarouselDApiDemo",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function CarouselDApiDemo is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 20,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3415,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.071429,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.84,
        "mechanical": 72.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\chart-bar-demo-legend.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 360,
      "functions": [
        {
          "name": "Component",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 38,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 47,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.56,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.055556,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.11,
        "mechanical": 83.11,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\combobox-demo.tsx",
      "language": "tsx",
      "line_count": 95,
      "token_estimate": 589,
      "functions": [
        {
          "name": "ComboboxDemo",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxDemo is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 59,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 46,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 47,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 95,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.45,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.052632,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.34,
        "mechanical": 72.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\date-picker-demo.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 274,
      "functions": [
        {
          "name": "DatePickerDemo",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.68,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.6,
        "mechanical": 89.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\dropdown-menu-demo.tsx",
      "language": "tsx",
      "line_count": 75,
      "token_estimate": 629,
      "functions": [
        {
          "name": "DropdownMenuDemo",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuDemo is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1257,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 75,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 13.92,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.27,
        "mechanical": 82.27,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\empty-input-group.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 285,
      "functions": [
        {
          "name": "EmptyInputGroup",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.9,
        "mechanical": 94.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\field-radio.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 337,
      "functions": [
        {
          "name": "FieldRadio",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-next-complex.tsx",
      "language": "tsx",
      "line_count": 195,
      "token_estimate": 1703,
      "functions": [
        {
          "name": "FormNextComplex",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 194,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 156,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 156 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 156 lines (> 37 dynamic threshold)",
                "impact": "Function FormNextComplex is 156 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 142,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 67,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 67,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 76,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 76,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 101,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 106,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 106,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 112,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 112,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 125,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 140,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 140,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 178,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 178,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 54,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 156,
        "function_length_stddev": 0.0,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 195,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.97,
        "debug_artifacts": [],
        "ai_smell_count": 20,
        "ai_smell_density": 0.102564,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 50.0,
        "mechanical": 50.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-rhf-input.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 831,
      "functions": [
        {
          "name": "FormRhfInput",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 78,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 37,
              "description": "Function is 78 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 78 lines (> 37 dynamic threshold)",
                "impact": "Function FormRhfInput is 78 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 81,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 56,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 56,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2244,
          "ai_signals": [
            "High anti-pattern density (0.64)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 78,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.79,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.043478,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.13,
        "mechanical": 74.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-tanstack-complex.tsx",
      "language": "tsx",
      "line_count": 314,
      "token_estimate": 2681,
      "functions": [
        {
          "name": "FormTanstackComplex",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 313,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 232,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 82,
              "description": "Function is 232 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 232 lines (> 37 dynamic threshold)",
                "impact": "Function FormTanstackComplex is 232 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 176,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 209,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 235,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 265,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 287,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 295,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 87,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 104,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 87,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 104,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1659,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 232,
        "function_length_stddev": 0.0,
        "import_count": 11,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 313,
        "comment_ratio": 0.0032,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.035144,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.21,
        "mechanical": 76.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-demo.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 37,
      "functions": [
        {
          "name": "InputDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-group-icon.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 295,
      "functions": [
        {
          "name": "InputGroupIcon",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-otp-pattern.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 143,
      "functions": [
        {
          "name": "InputOTPPattern",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 15,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 16,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 19,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 20,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.41,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.24,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.8,
        "mechanical": 73.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\item-group.tsx",
      "language": "tsx",
      "line_count": 69,
      "token_estimate": 451,
      "functions": [
        {
          "name": "ItemGroupExample",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 48,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1167,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 69,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.85,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014493,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.38,
        "mechanical": 90.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\kbd-demo.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 101,
      "functions": [
        {
          "name": "KbdDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 4.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\native-select-disabled.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 138,
      "functions": [
        {
          "name": "NativeSelectDisabled",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0082,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\resizable-demo-with-handle.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 301,
      "functions": [
        {
          "name": "ResizableDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\separator-demo.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 165,
      "functions": [
        {
          "name": "SeparatorDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\spinner-badge.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 121,
      "functions": [
        {
          "name": "SpinnerBadge",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.21,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\spinner-item.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 245,
      "functions": [
        {
          "name": "SpinnerItem",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 31,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1522,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.027027,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.34,
        "mechanical": 89.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\textarea-with-label.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 88,
      "functions": [
        {
          "name": "TextareaWithLabel",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.26,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\toggle-group-single.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 165,
      "functions": [
        {
          "name": "ToggleGroupDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-blockquote.tsx",
      "language": "tsx",
      "line_count": 9,
      "token_estimate": 72,
      "functions": [
        {
          "name": "TypographyBlockquote",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 8,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 9,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-lead.tsx",
      "language": "tsx",
      "line_count": 9,
      "token_estimate": 54,
      "functions": [
        {
          "name": "TypographyLead",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 8,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 9,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\_registry.ts",
      "language": "typescript",
      "line_count": 136,
      "token_estimate": 663,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 135,
        "comment_ratio": 0.0074,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.27,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\sidebar-menu-action.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 654,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 74,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1522,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.96,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.019048,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.44,
        "mechanical": 84.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\registry.ts",
      "language": "typescript",
      "line_count": 70,
      "token_estimate": 416,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 69,
        "comment_ratio": 0.0143,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.93,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 110,
      "token_estimate": 587,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1159,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1159,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1159,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1159,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1159,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1159,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 83,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1159,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 12.43,
        "function_length_stddev": 5.22,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 110,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.02,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5797,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.56,
        "mechanical": 98.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 198,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 8.33,
        "function_length_stddev": 2.89,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6536,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 599,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 215,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1385,
          "ai_signals": []
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1385,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 11.5,
        "function_length_stddev": 3.54,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6926,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 365,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 17,
        "function_length_stddev": 7.07,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.02,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 64,
      "token_estimate": 497,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1296,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 54,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 64,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.43,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.03125,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.99,
        "mechanical": 78.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 391,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 516,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 643,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.43,
        "function_length_stddev": 2.88,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.64,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7481,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.57,
        "mechanical": 99.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 160,
      "token_estimate": 1017,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function DialogContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1042,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.8,
        "function_length_stddev": 11.88,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 160,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.00625,
        "structural_uniformity": 0.0721,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.14,
        "mechanical": 97.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 622,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 134,
      "token_estimate": 728,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 52,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4147,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.57,
        "function_length_stddev": 6.53,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 134,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.552,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.18,
        "mechanical": 94.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 138,
      "token_estimate": 1109,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.8,
        "function_length_stddev": 11.68,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 138,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007246,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.72,
        "mechanical": 97.72,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 876,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 3.4,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.95,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7525,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 100,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 12,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 12,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.086957,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.86,
        "mechanical": 75.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1413,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.03,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 7,
      "token_estimate": 25,
      "functions": [
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 7,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 260,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 8,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.99,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.2,
        "mechanical": 87.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 653,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 10,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.5,
        "function_length_stddev": 11.13,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0321,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 724,
      "token_estimate": 5427,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 134,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 134,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 108,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 70,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 74,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 76,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 86,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 92,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 97,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3529,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 252,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 152,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 192,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 192,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1069,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 254,
          "line_end": 278,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 280,
          "line_end": 303,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 284,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1488,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 305,
          "line_end": 316,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 318,
          "line_end": 330,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 332,
          "line_end": 341,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 343,
          "line_end": 352,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 354,
          "line_end": 366,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 368,
          "line_end": 380,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 382,
          "line_end": 391,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 393,
          "line_end": 415,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 417,
          "line_end": 439,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 441,
          "line_end": 453,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 455,
          "line_end": 464,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 466,
          "line_end": 475,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 499,
          "line_end": 551,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 499,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 521,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.135,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 553,
          "line_end": 581,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 583,
          "line_end": 598,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 600,
          "line_end": 636,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 629,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 629,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 608,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2867,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 638,
          "line_end": 650,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 652,
          "line_end": 664,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 666,
          "line_end": 696,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 25.21,
        "function_length_stddev": 24.84,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 715,
        "comment_ratio": 0.0124,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.52,
        "debug_artifacts": [],
        "ai_smell_count": 19,
        "ai_smell_density": 0.026573,
        "structural_uniformity": 0.0146,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.75,
        "mechanical": 86.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 210,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 110,
      "token_estimate": 759,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 14.67,
        "function_length_stddev": 2.58,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 110,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.6,
        "mechanical": 98.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2625,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1036,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.5,
        "function_length_stddev": 5.78,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.6,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4497,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 202,
      "token_estimate": 1218,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 164,
          "line_end": 175,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 177,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.2,
        "function_length_stddev": 3.68,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 202,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7215,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.04,
        "mechanical": 99.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 434,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressTrack",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 30,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ProgressIndicator",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressLabel",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4866,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ProgressValue",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 13,
        "function_length_stddev": 4.12,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.73,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.035714,
        "structural_uniformity": 0.6828,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.17,
        "mechanical": 90.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 68,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 813,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 50,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 43,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 43,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4735,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.87)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1735,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32,
        "function_length_stddev": 4.24,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.69,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8674,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.07,
        "mechanical": 80.07,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 491,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.39,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 337,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2224,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 187,
          "line_end": 194,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 196,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 11.36,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.77,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2657,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 211,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 413,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 14,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4949,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 500,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.21,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 440,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.86,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 123,
      "token_estimate": 647,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 75,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 88,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3429,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.14,
        "function_length_stddev": 4.45,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 123,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.00813,
        "structural_uniformity": 0.6853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.37,
        "mechanical": 96.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\collapsible.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 164,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 4.33,
        "function_length_stddev": 1.15,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7335,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\label.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 129,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 438,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\tooltip.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 711,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 16.07,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 621,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 18,
        "function_length_stddev": 3.61,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7997,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 301,
      "token_estimate": 2278,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.376,
          "ai_signals": [
            "High anti-pattern density (0.88)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 163,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 186,
          "line_end": 190,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 205,
          "line_end": 216,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 218,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 264,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 266,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 281,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.56,
        "function_length_stddev": 10.33,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 301,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009967,
        "structural_uniformity": 0.336,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.37,
        "mechanical": 95.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1510,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 285,
      "token_estimate": 2070,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 194,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 196,
          "line_end": 207,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 209,
          "line_end": 223,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 225,
          "line_end": 229,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 231,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 251,
          "line_end": 265,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 14.12,
        "function_length_stddev": 8.06,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 285,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4296,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.76,
        "mechanical": 98.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 406,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 666,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 17,
        "function_length_stddev": 9.56,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4378,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 800,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.86,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 194,
      "token_estimate": 1255,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 147,
          "line_end": 165,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 167,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.44,
        "function_length_stddev": 6.31,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 194,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6385,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.77,
        "mechanical": 97.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 463,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.67,
        "function_length_stddev": 16.77,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.9,
        "mechanical": 98.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 483,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 203,
      "token_estimate": 1667,
      "functions": [
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2169,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function SelectContent is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1726,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 153,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 155,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 189,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 19,
        "function_length_stddev": 10.71,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 203,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.009852,
        "structural_uniformity": 0.4362,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.84,
        "mechanical": 94.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 429,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 200,
      "token_estimate": 1408,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 148,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 150,
          "line_end": 166,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 168,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 13.75,
        "function_length_stddev": 4.92,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 200,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6422,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 233,
      "token_estimate": 2107,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1607,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 230,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 193,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarDayButton is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 208,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 212,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.369,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105.5,
        "function_length_stddev": 95.46,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 233,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 13,
        "ai_smell_density": 0.055794,
        "structural_uniformity": 0.0952,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 64.8,
        "mechanical": 64.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 268,
      "token_estimate": 2131,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 200,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 202,
          "line_end": 220,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 222,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.13,
        "function_length_stddev": 7.82,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 268,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4834,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.46,
        "mechanical": 98.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 154,
      "token_estimate": 1286,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 56,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 56,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 59,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 59,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 59,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.504,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 83,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 92,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3485,
          "ai_signals": [
            "High anti-pattern density (0.56)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 104,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4722,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.5,
        "function_length_stddev": 3.56,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 154,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.86,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.045455,
        "structural_uniformity": 0.7701,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.99,
        "mechanical": 86.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 168,
      "token_estimate": 1669,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuViewport",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.12,
        "function_length_stddev": 3.64,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 168,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7873,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.55,
        "mechanical": 97.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 161,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 535,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1774,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1774,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1774,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1774,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.25,
        "function_length_stddev": 1.5,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 80,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8868,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.03,
        "mechanical": 99.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 658,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.86,
        "function_length_stddev": 2.67,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.53,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7746,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.44,
        "mechanical": 99.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 165,
      "token_estimate": 1042,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 151,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.3,
        "function_length_stddev": 10.42,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 165,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2162,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.56,
        "mechanical": 98.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 635,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.37,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 133,
      "token_estimate": 721,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2715,
          "ai_signals": []
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.43,
        "function_length_stddev": 6.32,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 133,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007519,
        "structural_uniformity": 0.5619,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.08,
        "mechanical": 96.08,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 147,
      "token_estimate": 1147,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 48,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1103,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 11.7,
        "function_length_stddev": 10.5,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 147,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.01,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006803,
        "structural_uniformity": 0.1026,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.56,
        "mechanical": 97.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 878,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 77,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 15.5,
        "function_length_stddev": 2.65,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8293,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.35,
        "mechanical": 98.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 68,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1420,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.01,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 126,
      "functions": [
        {
          "name": "DirectionProvider",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 227,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 7,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-form-missing-labels",
              "severity": "high",
              "line": 7,
              "description": "Form input without associated label - screen readers cannot identify what the input is for",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.83,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.1,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.1,
        "mechanical": 74.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 599,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverAnchor",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 9.43,
        "function_length_stddev": 5.77,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3881,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 706,
      "token_estimate": 5348,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 133,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 133,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 107,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 69,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 73,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 75,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 85,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 91,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 251,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 151,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 191,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 191,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.104,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 253,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 302,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 283,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 304,
          "line_end": 315,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 317,
          "line_end": 329,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 331,
          "line_end": 343,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 345,
          "line_end": 354,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 356,
          "line_end": 368,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 370,
          "line_end": 382,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 384,
          "line_end": 393,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 395,
          "line_end": 413,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 415,
          "line_end": 433,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 435,
          "line_end": 447,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 449,
          "line_end": 458,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 460,
          "line_end": 469,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 493,
          "line_end": 541,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 493,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 543,
          "line_end": 567,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 569,
          "line_end": 584,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 586,
          "line_end": 622,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 615,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 615,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 594,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2838,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 624,
          "line_end": 636,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 638,
          "line_end": 650,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 652,
          "line_end": 678,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 24.5,
        "function_length_stddev": 24.6,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 697,
        "comment_ratio": 0.0127,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 18,
        "ai_smell_density": 0.025825,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.74,
        "mechanical": 86.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 198,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 113,
      "token_estimate": 776,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.17,
        "function_length_stddev": 2.23,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 113,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8531,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.45,
        "mechanical": 98.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2627,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1036,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.5,
        "function_length_stddev": 5.78,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4497,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 197,
      "token_estimate": 1195,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 95,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 136,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 149,
          "line_end": 157,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 172,
          "line_end": 183,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.8,
        "function_length_stddev": 2.53,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 197,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8024,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.91,
        "mechanical": 98.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 186,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.15,
        "mechanical": 95.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 68,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 799,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 49,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 42,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 42,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4782,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1782,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32.5,
        "function_length_stddev": 3.54,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.79,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8912,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.92,
        "mechanical": 79.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\badge.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 466,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.1,
        "mechanical": 95.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\checkbox.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 348,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 274,
      "token_estimate": 2236,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 120,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 162,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 182,
          "line_end": 193,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 195,
          "line_end": 209,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 211,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 217,
          "line_end": 239,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 241,
          "line_end": 255,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.53,
        "function_length_stddev": 8.71,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 274,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4394,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.34,
        "mechanical": 98.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 209,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\radio-group.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 428,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 17,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 463,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\toggle.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 453,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 619,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 13.86,
        "function_length_stddev": 4.14,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7012,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.13,
        "mechanical": 98.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 198,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 8.33,
        "function_length_stddev": 2.89,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6536,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 151,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 417,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 527,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 11.25,
        "function_length_stddev": 8.5,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2444,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.62,
        "mechanical": 99.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 589,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3607,
          "ai_signals": [
            "High anti-pattern density (0.53)",
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 17,
        "function_length_stddev": 2.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011905,
        "structural_uniformity": 0.8824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.09,
        "mechanical": 94.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 303,
      "token_estimate": 2295,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 82,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3568,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 124,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 126,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 205,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 207,
          "line_end": 218,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 220,
          "line_end": 235,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 237,
          "line_end": 266,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 268,
          "line_end": 279,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 281,
          "line_end": 283,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.69,
        "function_length_stddev": 10.58,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 303,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009901,
        "structural_uniformity": 0.3255,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.35,
        "mechanical": 95.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1509,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 285,
      "token_estimate": 2135,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 172,
          "line_end": 190,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 205,
          "line_end": 219,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 221,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 251,
          "line_end": 265,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.12,
        "function_length_stddev": 8.19,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 285,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4586,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.46,
        "mechanical": 98.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 423,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\empty-avatar-group.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 382,
      "functions": [
        {
          "name": "EmptyAvatarGroup",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function EmptyAvatarGroup is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 26,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 31,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 38,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.6,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.067797,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.05,
        "mechanical": 74.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\input-group-button.tsx",
      "language": "tsx",
      "line_count": 69,
      "token_estimate": 515,
      "functions": [
        {
          "name": "InputGroupButtonExample",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupButtonExample is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 59,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 20,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.21,
          "ai_signals": [
            "High anti-pattern density (0.60)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 69,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.55,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.043478,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.13,
        "mechanical": 77.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\page.tsx",
      "language": "tsx",
      "line_count": 98,
      "token_estimate": 767,
      "functions": [
        {
          "name": "IndexPage",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 50,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function IndexPage is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 59,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 62,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 74,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 82,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 48,
        "function_length_stddev": 0.0,
        "import_count": 10,
        "export_count": 4,
        "comment_lines": 0,
        "code_lines": 98,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.05102,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.84,
        "mechanical": 75.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\colors\\page.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 111,
      "functions": [
        {
          "name": "ColorsPage",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 13,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.055556,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.81,
        "mechanical": 85.81,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\design-system-provider.tsx",
      "language": "tsx",
      "line_count": 308,
      "token_estimate": 2113,
      "functions": [
        {
          "name": "removeManagedBodyClasses",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0267,
          "ai_signals": []
        },
        {
          "name": "buildCssRule",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0267,
          "ai_signals": []
        },
        {
          "name": "buildThemeCssText",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0267,
          "ai_signals": []
        },
        {
          "name": "DesignSystemProvider",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 307,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 251,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 57,
              "description": "Function is 251 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 251 lines (> 37 dynamic threshold)",
                "impact": "Function DesignSystemProvider is 251 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 201,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 201,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 306,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 101,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 66,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 93,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 123,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 132,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1522,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 70.25,
        "function_length_stddev": 120.51,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 15,
        "code_lines": 293,
        "comment_ratio": 0.0487,
        "comment_what_ratio": 0.1333,
        "naming_avg_length": 8.44,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.030717,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 69.32,
        "mechanical": 69.32,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\menu-picker.tsx",
      "language": "tsx",
      "line_count": 170,
      "token_estimate": 1316,
      "functions": [
        {
          "name": "getMenuColorValue",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "MenuColorPicker",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 169,
          "metrics": {
            "cyclomatic_complexity": 9,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 123,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 47,
              "description": "Function is 123 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 123 lines (> 37 dynamic threshold)",
                "impact": "Function MenuColorPicker is 123 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 112,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 129,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 150,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 129,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 150,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 108,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 73,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2276,
          "ai_signals": [
            "High anti-pattern density (0.65)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 66.5,
        "function_length_stddev": 79.9,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 170,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.46,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.047059,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 57.99,
        "mechanical": 57.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\project-form.tsx",
      "language": "tsx",
      "line_count": 376,
      "token_estimate": 3285,
      "functions": [
        {
          "name": "ProjectForm",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 264,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 206,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 206 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 206 lines (> 37 dynamic threshold)",
                "impact": "Function ProjectForm is 206 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 130,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 145,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 150,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 188,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 235,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 237,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 68,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 79,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 177,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 209,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 68,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 79,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 177,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 209,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 74,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 172,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 66,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 107,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 114,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 164,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 307,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 359,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 206,
        "function_length_stddev": 0.0,
        "import_count": 16,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 376,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.36,
        "debug_artifacts": [],
        "ai_smell_count": 21,
        "ai_smell_density": 0.055851,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 64.79,
        "mechanical": 64.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\welcome-dialog.tsx",
      "language": "tsx",
      "line_count": 69,
      "token_estimate": 551,
      "functions": [
        {
          "name": "WelcomeDialog",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function WelcomeDialog is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 20,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 22,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 30,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.28,
          "ai_signals": [
            "High anti-pattern density (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 68,
        "comment_ratio": 0.0145,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.058824,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.29,
        "mechanical": 73.29,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\hooks\\use-theme-toggle.tsx",
      "language": "tsx",
      "line_count": 49,
      "token_estimate": 311,
      "functions": [
        {
          "name": "useThemeToggle",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function useThemeToggle is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 12,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 16,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 21,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3415,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 48,
        "comment_ratio": 0.0204,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.31,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.083333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 69.87,
        "mechanical": 69.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\lib\\preset-query.ts",
      "language": "typescript",
      "line_count": 31,
      "token_estimate": 247,
      "functions": [
        {
          "name": "resolvePresetOverrides",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 9,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 15,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 20,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 15,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 20,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3553,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.32,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.129032,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 50.8,
        "mechanical": 50.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\docs\\[[...slug]]\\page.tsx",
      "language": "tsx",
      "line_count": 198,
      "token_estimate": 1670,
      "functions": [
        {
          "name": "generateStaticParams",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "generateMetadata",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function generateMetadata is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0745,
          "ai_signals": []
        },
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 13,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 127,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 71,
              "description": "Function is 127 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 127 lines (> 15 dynamic threshold)",
                "impact": "Function Page is 127 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 104,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 148,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 188,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 186,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 114,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 127,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 164,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 176,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2756,
          "ai_signals": [
            "High anti-pattern density (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 59,
        "function_length_stddev": 62.86,
        "import_count": 12,
        "export_count": 6,
        "comment_lines": 0,
        "code_lines": 198,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.95,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.055556,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 56.91,
        "mechanical": 56.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\dashboard\\components\\nav-documents.tsx",
      "language": "tsx",
      "line_count": 93,
      "token_estimate": 627,
      "functions": [
        {
          "name": "NavDocuments",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function NavDocuments is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 46,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1077,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 93,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.83,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021505,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.62,
        "mechanical": 79.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\playground\\components\\code-viewer.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 732,
      "functions": [
        {
          "name": "CodeViewer",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 79,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 79 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 79 lines (> 37 dynamic threshold)",
                "impact": "Function CodeViewer is 79 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0443,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 79,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.96,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011111,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.22,
        "mechanical": 82.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\playground\\components\\top-p-selector.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 408,
      "functions": [
        {
          "name": "TopPSelector",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 21,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0972,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.74,
        "mechanical": 87.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\button-group-popover.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 598,
      "functions": [
        {
          "name": "ButtonGroupPopover",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupPopover is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 72,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 41,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 41,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3111,
          "ai_signals": [
            "High anti-pattern density (0.89)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.35,
        "mechanical": 76.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\input-group-demo.tsx",
      "language": "tsx",
      "line_count": 141,
      "token_estimate": 1006,
      "functions": [
        {
          "name": "InputGroupDemo",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 64,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupDemo is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 72,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 79,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 98,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 66,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 66,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2727,
          "ai_signals": [
            "High anti-pattern density (0.78)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 77,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 141,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.3,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.042553,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.11,
        "mechanical": 73.11,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\tasks\\components\\data-table-faceted-filter.tsx",
      "language": "tsx",
      "line_count": 148,
      "token_estimate": 1248,
      "functions": [
        {
          "name": "DataTableFacetedFilter",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 114,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 34,
              "description": "Function is 114 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 114 lines (> 37 dynamic threshold)",
                "impact": "Function DataTableFacetedFilter is 114 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 85,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 40,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 40,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 49,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 130,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 39,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 40,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 48,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 101,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 120,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 134,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 114,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 148,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.33,
        "debug_artifacts": [],
        "ai_smell_count": 12,
        "ai_smell_density": 0.081081,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 57.23,
        "mechanical": 57.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\tasks\\data\\schema.ts",
      "language": "typescript",
      "line_count": 14,
      "token_estimate": 81,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 2,
        "comment_lines": 2,
        "code_lines": 12,
        "comment_ratio": 0.1429,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(create)\\init\\parse-config.test.ts",
      "language": "typescript",
      "line_count": 22,
      "token_estimate": 156,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 0,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(view)\\view\\[style]\\[name]\\page.tsx",
      "language": "tsx",
      "line_count": 189,
      "token_estimate": 1109,
      "functions": [
        {
          "name": "generateMetadata",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 34,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function generateMetadata is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1858,
          "ai_signals": []
        },
        {
          "name": "generateStaticParams",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 9,
            "max_nesting_depth": 5,
            "parameter_count": 0,
            "line_count": 75,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "deep-nesting",
              "severity": "high",
              "line": 85,
              "description": "Nesting depth 5 > 4",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Nesting depth 5 > 4",
                "impact": "Nesting depth 5 at line 85 in generateStaticParams makes control flow hard to follow",
                "recommendation": "Extract nested blocks into helper functions or use early returns to flatten",
                "confidence": 0.9,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 85,
              "description": "Function is 75 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 75 lines (> 37 dynamic threshold)",
                "impact": "Function generateStaticParams is 75 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2091,
          "ai_signals": []
        },
        {
          "name": "BlockPage",
          "type": "function_declaration",
          "line_start": 161,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1158,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 51,
        "function_length_stddev": 23.52,
        "import_count": 9,
        "export_count": 6,
        "comment_lines": 26,
        "code_lines": 163,
        "comment_ratio": 0.1376,
        "comment_what_ratio": 0.04,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.018405,
        "structural_uniformity": 0.5389,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 65.27,
        "mechanical": 65.27,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\block-display.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 475,
      "functions": [
        {
          "name": "BlockDisplay",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 40,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 24,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 46,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2838,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.37,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.037975,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.91,
        "mechanical": 76.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\cookie-settings.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 297,
      "functions": [
        {
          "name": "CardsCookieSettings",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\share.tsx",
      "language": "tsx",
      "line_count": 118,
      "token_estimate": 803,
      "functions": [
        {
          "name": "CardsShare",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 61,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 57,
              "description": "Function is 61 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 61 lines (> 37 dynamic threshold)",
                "impact": "Function CardsShare is 61 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 88,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1148,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 61,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 118,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.56,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.016949,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.76,
        "mechanical": 80.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\charts-nav.tsx",
      "language": "tsx",
      "line_count": 68,
      "token_estimate": 401,
      "functions": [
        {
          "name": "ChartsNav",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 68,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\command-menu.tsx",
      "language": "tsx",
      "line_count": 605,
      "token_estimate": 4722,
      "functions": [
        {
          "name": "CommandMenu",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 466,
          "metrics": {
            "cyclomatic_complexity": 9,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 427,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 40,
              "description": "Function is 427 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 427 lines (> 37 dynamic threshold)",
                "impact": "Function CommandMenu is 427 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 433,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 290,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 290,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 429,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 453,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 131,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 242,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 56,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 57,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 72,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 88,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 107,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 121,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 129,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 140,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 156,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 164,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 172,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 242,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 342,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-missing-loading-states",
              "severity": "medium",
              "line": 417,
              "description": "Async operation without loading indicator - user sees stale data or blank screen with no feedback",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-missing-loading-states",
              "severity": "medium",
              "line": 425,
              "description": "Async operation without loading indicator - user sees stale data or blank screen with no feedback",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2367,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "CommandMenuItem",
          "type": "function_declaration",
          "line_start": 468,
          "line_end": 504,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 485,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1346,
          "ai_signals": []
        },
        {
          "name": "CommandMenuKbd",
          "type": "function_declaration",
          "line_start": 506,
          "line_end": 516,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 508,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3582,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "SearchResults",
          "type": "function_declaration",
          "line_start": 520,
          "line_end": 580,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 61,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 520,
              "description": "Function is 61 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 61 lines (> 37 dynamic threshold)",
                "impact": "Function SearchResults is 61 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0974,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 582,
          "line_end": 604,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.04,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 28,
              "description": "Unused import: import {\n  Dialog,\n  DialogDescription,\n  DialogHeader,\n  DialogOverlay,\n  DialogPortal,\n  DialogTitle,\n  DialogTrigger,\n} from \"@/registry/new-york-v4/ui/dialog\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'DialogOverlay' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Dialog,\n  DialogDescription,\n  DialogHeader,\n  DialogOverlay,\n  DialogPortal,\n  DialogTitle,\n  DialogTrigger,\n} from \"@/registry/new-york-v4/ui/dialog\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 111.8,
        "function_length_stddev": 177.18,
        "import_count": 20,
        "export_count": 1,
        "comment_lines": 5,
        "code_lines": 600,
        "comment_ratio": 0.0083,
        "comment_what_ratio": 0.2,
        "naming_avg_length": 7.5,
        "debug_artifacts": [],
        "ai_smell_count": 27,
        "ai_smell_density": 0.045,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.83,
        "mechanical": 67.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\directory-list.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 694,
      "functions": [
        {
          "name": "getHomepageUrl",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DirectoryList",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 52,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 32,
              "description": "Function is 52 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 52 lines (> 37 dynamic threshold)",
                "impact": "Function DirectoryList is 52 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 72,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 49,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 44,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 29.5,
        "function_length_stddev": 31.82,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.78,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.25,
        "mechanical": 82.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\github-link.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 279,
      "functions": [
        {
          "name": "GitHubLink",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 12,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4429,
          "ai_signals": [
            "High anti-pattern density (0.83)",
            "Suspiciously uniform function lengths (0.76)"
          ]
        },
        {
          "name": "StarsCount",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 31,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 24,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.5012,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.76)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 14.5,
        "function_length_stddev": 3.54,
        "import_count": 6,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.076923,
        "structural_uniformity": 0.7562,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.17,
        "mechanical": 78.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\open-in-v0-button.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 177,
      "functions": [
        {
          "name": "OpenInV0Button",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 22,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1522,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 30,
        "comment_ratio": 0.0323,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.77,
        "mechanical": 87.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\tailwind-indicator.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 189,
      "functions": [
        {
          "name": "TailwindIndicator",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.73,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.6,
        "mechanical": 85.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\accordion-card.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 472,
      "functions": [
        {
          "name": "AccordionCard",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.1,
        "mechanical": 96.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\alert-demo.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 202,
      "functions": [
        {
          "name": "AlertDemo",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\alert-dialog-small.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 252,
      "functions": [
        {
          "name": "AlertDialogSmall",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1755,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.53,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.028571,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.56,
        "mechanical": 89.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\avatar-basic.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 85,
      "functions": [
        {
          "name": "AvatarDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 11,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2917,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.052632,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.24,
        "mechanical": 86.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\badge-colors.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 185,
      "functions": [
        {
          "name": "BadgeCustomColors",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 4.81,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\breadcrumb-demo.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 423,
      "functions": [
        {
          "name": "BreadcrumbDemo",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0147,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import Link from \"next/link\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Link' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import Link from \"next/link\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.9,
        "mechanical": 91.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-destructive.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 40,
      "functions": [
        {
          "name": "ButtonDestructive",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.64,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-group-popover.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 410,
      "functions": [
        {
          "name": "ButtonGroupPopover",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupPopover is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.75,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016949,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.06,
        "mechanical": 87.06,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-outline.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 37,
      "functions": [
        {
          "name": "ButtonOutline",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.55,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\calendar-basic.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 45,
      "functions": [
        {
          "name": "CalendarBasic",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.57,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\calendar-range.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 174,
      "functions": [
        {
          "name": "CalendarRange",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 19,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2059,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 8,
              "description": "Unused import: import { Card, CardContent } from \"@/styles/base-nova/ui/card\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Card' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Card, CardContent } from \"@/styles/base-nova/ui/card\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 8,
              "description": "Unused import: import { Card, CardContent } from \"@/styles/base-nova/ui/card\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CardContent' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Card, CardContent } from \"@/styles/base-nova/ui/card\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.037037,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 2
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.64,
        "mechanical": 88.64,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\carousel-api.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 373,
      "functions": [
        {
          "name": "CarouselDApiDemo",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function CarouselDApiDemo is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 20,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3415,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.95,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.071429,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.84,
        "mechanical": 72.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\chart-demo.tsx",
      "language": "tsx",
      "line_count": 161,
      "token_estimate": 1344,
      "functions": [
        {
          "name": "ChartDemo",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 92,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 69,
              "description": "Function is 92 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 92 lines (> 37 dynamic threshold)",
                "impact": "Function ChartDemo is 92 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 124,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 139,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 92,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 104,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 92,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 104,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3043,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 92,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 161,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.049689,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.58,
        "mechanical": 72.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\checkbox-basic.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 121,
      "functions": [
        {
          "name": "CheckboxBasic",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\collapsible-basic.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 276,
      "functions": [
        {
          "name": "CollapsibleBasic",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.1,
        "mechanical": 96.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\combobox-custom.tsx",
      "language": "tsx",
      "line_count": 100,
      "token_estimate": 733,
      "functions": [
        {
          "name": "ComboboxWithCustomItems",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 100,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\combobox-rtl.tsx",
      "language": "tsx",
      "line_count": 134,
      "token_estimate": 792,
      "functions": [
        {
          "name": "ComboboxRtl",
          "type": "function_declaration",
          "line_start": 77,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 77,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxRtl is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 111,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1228,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 134,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.96,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.92,
        "mechanical": 80.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\context-menu-basic.tsx",
      "language": "tsx",
      "line_count": 30,
      "token_estimate": 223,
      "functions": [
        {
          "name": "ContextMenuBasic",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 30,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.53,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\context-menu-shortcuts.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 387,
      "functions": [
        {
          "name": "ContextMenuShortcuts",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuShortcuts is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0942,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.53,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.019231,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.89,
        "mechanical": 85.89,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\date-picker-dob.tsx",
      "language": "tsx",
      "line_count": 49,
      "token_estimate": 332,
      "functions": [
        {
          "name": "DatePickerSimple",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 15,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 49,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.020408,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.9,
        "mechanical": 84.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dialog-no-close-button.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 186,
      "functions": [
        {
          "name": "DialogNoCloseButton",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 2,
              "description": "Unused import: import {\n  Dialog,\n  DialogClose,\n  DialogContent,\n  DialogDescription,\n  DialogFooter,\n  DialogHeader,\n  DialogTitle,\n  DialogTrigger,\n} from \"@/styles/base-nova/ui/dialog\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'DialogClose' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Dialog,\n  DialogClose,\n  DialogContent,\n  DialogDescription,\n  DialogFooter,\n  DialogHeader,\n  DialogTitle,\n  DialogTrigger,\n} from \"@/styles/base-nova/ui/dialog\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 2,
              "description": "Unused import: import {\n  Dialog,\n  DialogClose,\n  DialogContent,\n  DialogDescription,\n  DialogFooter,\n  DialogHeader,\n  DialogTitle,\n  DialogTrigger,\n} from \"@/styles/base-nova/ui/dialog\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'DialogFooter' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Dialog,\n  DialogClose,\n  DialogContent,\n  DialogDescription,\n  DialogFooter,\n  DialogHeader,\n  DialogTitle,\n  DialogTrigger,\n} from \"@/styles/base-nova/ui/dialog\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 2
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\drawer-sides.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 556,
      "functions": [
        {
          "name": "DrawerWithSides",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerWithSides is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 22,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 22,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 48,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.69,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.7,
        "mechanical": 76.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dropdown-menu-icons.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 258,
      "functions": [
        {
          "name": "DropdownMenuIcons",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0118,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.71,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\empty-background.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 222,
      "functions": [
        {
          "name": "EmptyMuted",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\field-demo.tsx",
      "language": "tsx",
      "line_count": 175,
      "token_estimate": 1415,
      "functions": [
        {
          "name": "FieldDemo",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 126,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 49,
              "description": "Function is 126 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 126 lines (> 37 dynamic threshold)",
                "impact": "Function FieldDemo is 126 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0278,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 126,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 175,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005714,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.57,
        "mechanical": 83.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\field-slider.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 216,
      "functions": [
        {
          "name": "FieldSlider",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 25,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 25,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 13,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.07,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.114286,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.1,
        "mechanical": 71.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-basic.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 32,
      "functions": [
        {
          "name": "InputBasic",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-grid.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 135,
      "functions": [
        {
          "name": "InputGrid",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.98,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-dropdown.tsx",
      "language": "tsx",
      "line_count": 71,
      "token_estimate": 561,
      "functions": [
        {
          "name": "InputGroupDropdown",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 52,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 52 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 52 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupDropdown is 52 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0675,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 52,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 71,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.01,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014085,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.88,
        "mechanical": 83.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-spinner.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 335,
      "functions": [
        {
          "name": "InputGroupSpinner",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-with-tooltip.tsx",
      "language": "tsx",
      "line_count": 164,
      "token_estimate": 1273,
      "functions": [
        {
          "name": "InputGroupWithTooltip",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 122,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 122 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 122 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithTooltip is 122 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 50,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0574,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 122,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 164,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.06,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.012195,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.95,
        "mechanical": 81.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-otp-form.tsx",
      "language": "tsx",
      "line_count": 82,
      "token_estimate": 636,
      "functions": [
        {
          "name": "InputOTPForm",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function InputOTPForm is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 47,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 48,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 49,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 82,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.085366,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 64.26,
        "mechanical": 64.26,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\item-avatar.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 588,
      "functions": [
        {
          "name": "ItemAvatar",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function ItemAvatar is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 24,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 47,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 52,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 59,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2778,
          "ai_signals": [
            "High anti-pattern density (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.061728,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 69.57,
        "mechanical": 69.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\item-rtl.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 489,
      "functions": [
        {
          "name": "ItemRtl",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 80,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\kbd-tooltip.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 250,
      "functions": [
        {
          "name": "KbdTooltip",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\menubar-submenu.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 443,
      "functions": [
        {
          "name": "MenubarSubmenu",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarSubmenu is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0873,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.77,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016393,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.8,
        "mechanical": 84.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\navigation-menu-rtl.tsx",
      "language": "tsx",
      "line_count": 275,
      "token_estimate": 2275,
      "functions": [
        {
          "name": "NavigationMenuRtl",
          "type": "function_declaration",
          "line_start": 164,
          "line_end": 256,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 93,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 164,
              "description": "Function is 93 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 93 lines (> 37 dynamic threshold)",
                "impact": "Function NavigationMenuRtl is 93 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 218,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 226,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 234,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 246,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1928,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        },
        {
          "name": "ListItem",
          "type": "function_declaration",
          "line_start": 258,
          "line_end": 274,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 266,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 266,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3546,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 55,
        "function_length_stddev": 53.74,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 275,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.18,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.025455,
        "structural_uniformity": 0.0229,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.89,
        "mechanical": 73.89,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\popover-demo.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 503,
      "functions": [
        {
          "name": "PopoverDemo",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function PopoverDemo is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.066,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.83,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015873,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.13,
        "mechanical": 83.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\radio-group-choice-card.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 361,
      "functions": [
        {
          "name": "RadioGroupChoiceCard",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.9,
        "mechanical": 91.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\resizable-handle.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 193,
      "functions": [
        {
          "name": "ResizableHandleDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\select-disabled.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 242,
      "functions": [
        {
          "name": "SelectDisabled",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\separator-rtl.tsx",
      "language": "tsx",
      "line_count": 55,
      "token_estimate": 343,
      "functions": [
        {
          "name": "SeparatorRtl",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 55,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.01,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-footer.tsx",
      "language": "tsx",
      "line_count": 69,
      "token_estimate": 470,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0778,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 69,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.35,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014493,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.88,
        "mechanical": 85.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-menu-sub.tsx",
      "language": "tsx",
      "line_count": 179,
      "token_estimate": 856,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 178,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 155,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 162,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2059,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 179,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.15,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.011173,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.01,
        "mechanical": 90.01,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\skeleton-rtl.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 184,
      "functions": [
        {
          "name": "SkeletonRtl",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\slider-rtl.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 150,
      "functions": [
        {
          "name": "SliderRtl",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 30,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.025641,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.69,
        "mechanical": 92.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\spinner-custom.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 109,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1501,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "SpinnerCustom",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1501,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 8.5,
        "function_length_stddev": 2.12,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7504,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\switch-description.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 151,
      "functions": [
        {
          "name": "SwitchDescription",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\table-rtl.tsx",
      "language": "tsx",
      "line_count": 152,
      "token_estimate": 898,
      "functions": [
        {
          "name": "TableRtl",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 151,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 152,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.68,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\textarea-demo.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 40,
      "functions": [
        {
          "name": "TextareaDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-group-disabled.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 147,
      "functions": [
        {
          "name": "ToggleGroupDisabled",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.02,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-rtl.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 199,
      "functions": [
        {
          "name": "ToggleRtl",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-blockquote.tsx",
      "language": "tsx",
      "line_count": 9,
      "token_estimate": 70,
      "functions": [
        {
          "name": "TypographyBlockquote",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 8,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 9,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-lead.tsx",
      "language": "tsx",
      "line_count": 9,
      "token_estimate": 52,
      "functions": [
        {
          "name": "TypographyLead",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 8,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 9,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\accordion-borders.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 380,
      "functions": [
        {
          "name": "AccordionBorders",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.54,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\alert-colors.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 152,
      "functions": [
        {
          "name": "AlertColors",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.84,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\alert-dialog-small-media.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 299,
      "functions": [
        {
          "name": "AlertDialogSmallWithMedia",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0165,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.99,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\avatar-badge.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 91,
      "functions": [
        {
          "name": "AvatarWithBadge",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 11,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.33,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.058824,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.29,
        "mechanical": 85.29,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\avatar-size.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 172,
      "functions": [
        {
          "name": "AvatarSizeExample",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 11,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 15,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 19,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.53,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.12,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.6,
        "mechanical": 72.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\breadcrumb-basic.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 172,
      "functions": [
        {
          "name": "BreadcrumbBasic",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0348,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 12.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-default.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 33,
      "functions": [
        {
          "name": "ButtonDefault",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-group-nested.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 270,
      "functions": [
        {
          "name": "ButtonGroupNested",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 5,
              "description": "Unused import: import { Input } from \"@/styles/radix-nova/ui/input\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Input' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Input } from \"@/styles/radix-nova/ui/input\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-icon.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 64,
      "functions": [
        {
          "name": "ButtonIcon",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-with-icon.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 64,
      "functions": [
        {
          "name": "ButtonWithIcon",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\calendar-presets.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 435,
      "functions": [
        {
          "name": "CalendarWithPresets",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarWithPresets is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.37,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016949,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.06,
        "mechanical": 84.06,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\card-small.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 203,
      "functions": [
        {
          "name": "CardSmall",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.54,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.1,
        "mechanical": 96.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\carousel-spacing.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 241,
      "functions": [
        {
          "name": "CarouselSpacing",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\chart-tooltip.tsx",
      "language": "tsx",
      "line_count": 215,
      "token_estimate": 2027,
      "functions": [
        {
          "name": "ChartTooltipDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 114,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 7,
              "description": "Function is 114 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 114 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipDemo is 114 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.202,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "TooltipDemo",
          "type": "function_declaration",
          "line_start": 122,
          "line_end": 214,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 93,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 122,
              "description": "Function is 93 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 93 lines (> 37 dynamic threshold)",
                "impact": "Function TooltipDemo is 93 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 174,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 186,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 186,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 172,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 146,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3971,
          "ai_signals": [
            "High anti-pattern density (0.65)",
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 103.5,
        "function_length_stddev": 14.85,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 215,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.71,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.032558,
        "structural_uniformity": 0.8565,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.53,
        "mechanical": 72.53,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\checkbox-table.tsx",
      "language": "tsx",
      "line_count": 109,
      "token_estimate": 636,
      "functions": [
        {
          "name": "CheckboxInTable",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 67,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 67 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 67 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxInTable is 67 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 91,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1045,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 67,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 109,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.018349,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.41,
        "mechanical": 80.41,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\combobox-clear.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 186,
      "functions": [
        {
          "name": "ComboboxWithClear",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\combobox-popup.tsx",
      "language": "tsx",
      "line_count": 97,
      "token_estimate": 683,
      "functions": [
        {
          "name": "ComboboxPopup",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 83,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 70,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2414,
          "ai_signals": [
            "High anti-pattern density (0.69)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 97,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.66,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.020619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.15,
        "mechanical": 89.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\command-shortcuts.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 382,
      "functions": [
        {
          "name": "CommandWithShortcuts",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 19,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0972,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.24,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.018519,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.57,
        "mechanical": 87.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\context-menu-rtl.tsx",
      "language": "tsx",
      "line_count": 181,
      "token_estimate": 1453,
      "functions": [
        {
          "name": "ContextMenuRtl",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 85,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 96,
              "description": "Function is 85 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 85 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuRtl is 85 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 98,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0825,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 85,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 181,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.01,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.01105,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.74,
        "mechanical": 74.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\date-picker-demo.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 263,
      "functions": [
        {
          "name": "DatePickerDemo",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.57,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.7,
        "mechanical": 92.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dialog-demo.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 394,
      "functions": [
        {
          "name": "DialogDemo",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\drawer-scrollable-content.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 428,
      "functions": [
        {
          "name": "DrawerScrollableContent",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.12,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.9,
        "mechanical": 91.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dropdown-menu-destructive.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 264,
      "functions": [
        {
          "name": "DropdownMenuDestructive",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0257,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.54,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\empty-avatar.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 250,
      "functions": [
        {
          "name": "EmptyAvatar",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 23,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.45,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.4,
        "mechanical": 89.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\field-choice-card.tsx",
      "language": "tsx",
      "line_count": 49,
      "token_estimate": 382,
      "functions": [
        {
          "name": "FieldChoiceCard",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 49,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\field-select.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 306,
      "functions": [
        {
          "name": "FieldSelect",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.9,
        "mechanical": 94.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-badge.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 134,
      "functions": [
        {
          "name": "InputBadge",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-form.tsx",
      "language": "tsx",
      "line_count": 70,
      "token_estimate": 536,
      "functions": [
        {
          "name": "InputForm",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function InputForm is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.066,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 70,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.71,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014286,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.53,
        "mechanical": 83.53,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-demo.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 110,
      "functions": [
        {
          "name": "InputGroupDemo",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-rtl.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 845,
      "functions": [
        {
          "name": "InputGroupRtl",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 74,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupRtl is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 87,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 93,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3043,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.64,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.87,
        "mechanical": 80.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-with-kbd.tsx",
      "language": "tsx",
      "line_count": 133,
      "token_estimate": 1081,
      "functions": [
        {
          "name": "InputGroupWithKbd",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 115,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 115 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 115 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithKbd is 115 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0304,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 9,
              "description": "Unused import: import { Input } from \"@/styles/radix-nova/ui/input\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Input' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Input } from \"@/styles/radix-nova/ui/input\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 115,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 133,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.68,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007519,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.12,
        "mechanical": 83.12,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-otp-disabled.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 145,
      "functions": [
        {
          "name": "InputOTPDisabled",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 12,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 13,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 14,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 19,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 20,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.27,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.24,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.9,
        "mechanical": 72.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-rtl.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 307,
      "functions": [
        {
          "name": "InputRtl",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\item-link.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 287,
      "functions": [
        {
          "name": "ItemLink",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.6,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\kbd-rtl.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 192,
      "functions": [
        {
          "name": "KbdRtl",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.31,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\menubar-rtl.tsx",
      "language": "tsx",
      "line_count": 272,
      "token_estimate": 2072,
      "functions": [
        {
          "name": "MenubarRtl",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 7,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 129,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 143,
              "description": "Function is 129 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 129 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarRtl is 129 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 145,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0543,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 129,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 272,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.93,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.007353,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.16,
        "mechanical": 68.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\navigation-menu-demo.tsx",
      "language": "tsx",
      "line_count": 119,
      "token_estimate": 928,
      "functions": [
        {
          "name": "NavigationMenuDemo",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 54,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function NavigationMenuDemo is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 92,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2407,
          "ai_signals": []
        },
        {
          "name": "ListItem",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 109,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2693,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32,
        "function_length_stddev": 18.38,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 119,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.67,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.02521,
        "structural_uniformity": 0.4255,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.1,
        "mechanical": 87.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\popover-basic.tsx",
      "language": "tsx",
      "line_count": 28,
      "token_estimate": 166,
      "functions": [
        {
          "name": "PopoverBasic",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\radio-fields.tsx",
      "language": "tsx",
      "line_count": 150,
      "token_estimate": 1374,
      "functions": [
        {
          "name": "RadioFields",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 137,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 137 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 137 lines (> 37 dynamic threshold)",
                "impact": "Function RadioFields is 137 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0255,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 137,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 150,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.49,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.33,
        "mechanical": 83.33,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\resizable-demo.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 296,
      "functions": [
        {
          "name": "ResizableDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\select-demo.tsx",
      "language": "tsx",
      "line_count": 30,
      "token_estimate": 195,
      "functions": [
        {
          "name": "SelectDemo",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 30,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\separator-menu.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 230,
      "functions": [
        {
          "name": "SeparatorMenu",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-demo.tsx",
      "language": "tsx",
      "line_count": 513,
      "token_estimate": 3444,
      "functions": [
        {
          "name": "TeamSwitcher",
          "type": "function_declaration",
          "line_start": 200,
          "line_end": 275,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 76,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 200,
              "description": "Function is 76 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 76 lines (> 37 dynamic threshold)",
                "impact": "Function TeamSwitcher is 76 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 210,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2193,
          "ai_signals": []
        },
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 277,
          "line_end": 329,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 277,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 315,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3253,
          "ai_signals": [
            "High anti-pattern density (0.57)"
          ]
        },
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 331,
          "line_end": 396,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 66,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 331,
              "description": "Function is 66 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 66 lines (> 37 dynamic threshold)",
                "impact": "Function NavProjects is 66 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 349,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2332,
          "ai_signals": []
        },
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 398,
          "line_end": 483,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 86,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 398,
              "description": "Function is 86 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 86 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 86 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 419,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 439,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2493,
          "ai_signals": []
        },
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 485,
          "line_end": 512,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 492,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 495,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 496,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 499,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4772,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 61.8,
        "function_length_stddev": 22.5,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 512,
        "comment_ratio": 0.0019,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.76,
        "debug_artifacts": [],
        "ai_smell_count": 14,
        "ai_smell_density": 0.027344,
        "structural_uniformity": 0.6359,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.06,
        "mechanical": 76.06,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-menu-collapsible.tsx",
      "language": "tsx",
      "line_count": 197,
      "token_estimate": 1034,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 196,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 152,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 178,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1556,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 197,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.010152,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.96,
        "mechanical": 86.96,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\skeleton-form.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 126,
      "functions": [
        {
          "name": "SkeletonForm",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.61,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\slider-range.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 56,
      "functions": [
        {
          "name": "SliderRange",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 5,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.93,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.076923,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.77,
        "mechanical": 80.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\spinner-button.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 152,
      "functions": [
        {
          "name": "SpinnerButton",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\switch-demo.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 78,
      "functions": [
        {
          "name": "SwitchDemo",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\table-footer.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 524,
      "functions": [
        {
          "name": "TableFooterExample",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\textarea-button.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 77,
      "functions": [
        {
          "name": "TextareaButton",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-group-demo.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 152,
      "functions": [
        {
          "name": "ToggleGroupDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-outline.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 112,
      "functions": [
        {
          "name": "ToggleOutline",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\tooltip-sides.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 164,
      "functions": [
        {
          "name": "TooltipSides",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-large.tsx",
      "language": "tsx",
      "line_count": 4,
      "token_estimate": 29,
      "functions": [
        {
          "name": "TypographyLarge",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 3,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 4,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\hooks\\use-colors.ts",
      "language": "typescript",
      "line_count": 29,
      "token_estimate": 176,
      "functions": [
        {
          "name": "useColors",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.84,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\hooks\\use-mutation-observer.ts",
      "language": "typescript",
      "line_count": 21,
      "token_estimate": 126,
      "functions": [
        {
          "name": "useMutationObserver",
          "type": "arrow_function",
          "line_start": 3,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 3,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 13,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "firebase_no_rate_limit",
              "severity": "high",
              "line": 5,
              "description": "Firebase Cloud Functions HTTP trigger without rate limiting \u2014 vulnerable to abuse and cost spikes",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.47,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.095238,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.79,
        "mechanical": 73.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\docs.ts",
      "language": "typescript",
      "line_count": 9,
      "token_estimate": 38,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 9,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\page-tree.ts",
      "language": "typescript",
      "line_count": 63,
      "token_estimate": 507,
      "functions": [
        {
          "name": "getAllPagesFromFolder",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 3,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1332,
          "ai_signals": [
            "Comments explain 'what' not 'why' (0.57)"
          ]
        },
        {
          "name": "getPagesFromFolder",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 11,
            "max_nesting_depth": 4,
            "parameter_count": 2,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 34 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 34 lines (> 15 dynamic threshold)",
                "impact": "Function getPagesFromFolder is 34 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2361,
          "ai_signals": [
            "Comments explain 'what' not 'why' (0.57)"
          ]
        },
        {
          "name": "getCurrentBase",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1332,
          "ai_signals": [
            "Comments explain 'what' not 'why' (0.57)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 17,
        "function_length_stddev": 15.39,
        "import_count": 1,
        "export_count": 6,
        "comment_lines": 7,
        "code_lines": 56,
        "comment_ratio": 0.1111,
        "comment_what_ratio": 0.5714,
        "naming_avg_length": 6.81,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0944,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.77,
        "mechanical": 74.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\next.config.mjs",
      "language": "javascript",
      "line_count": 154,
      "token_estimate": 854,
      "functions": [
        {
          "name": "redirects",
          "type": "method_definition",
          "line_start": 35,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 102,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 35,
              "description": "Function is 102 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 102 lines (> 37 dynamic threshold)",
                "impact": "Function redirects is 102 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0343,
          "ai_signals": []
        },
        {
          "name": "rewrites",
          "type": "method_definition",
          "line_start": 137,
          "line_end": 148,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 57,
        "function_length_stddev": 63.64,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 4,
        "code_lines": 150,
        "comment_ratio": 0.026,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.99,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.23,
        "mechanical": 84.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases.ts",
      "language": "typescript",
      "line_count": 30,
      "token_estimate": 319,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 30,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\dashboard-01\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 212,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 29,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1296,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.27,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.025,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.65,
        "mechanical": 88.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\login-02\\page.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 352,
      "functions": [
        {
          "name": "LoginPage",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 32,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.05,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.4,
        "mechanical": 86.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\album-card.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 436,
      "functions": [
        {
          "name": "AlbumCard",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function AlbumCard is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 16,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1795,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.94,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.04,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.3,
        "mechanical": 81.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\empty-distribute-track.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 290,
      "functions": [
        {
          "name": "EmptyDistributeTrack",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\notification-settings.tsx",
      "language": "tsx",
      "line_count": 108,
      "token_estimate": 731,
      "functions": [
        {
          "name": "NotificationSettings",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 50,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function NotificationSettings is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 89,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1207,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 108,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.14,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.018519,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.47,
        "mechanical": 78.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\release-catalog.tsx",
      "language": "tsx",
      "line_count": 116,
      "token_estimate": 834,
      "functions": [
        {
          "name": "ReleaseCatalog",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function ReleaseCatalog is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0614,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 116,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.84,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008621,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.74,
        "mechanical": 83.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\transfer-funds.tsx",
      "language": "tsx",
      "line_count": 139,
      "token_estimate": 1163,
      "functions": [
        {
          "name": "TransferFunds",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 99,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 40,
              "description": "Function is 99 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 99 lines (> 37 dynamic threshold)",
                "impact": "Function TransferFunds is 99 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0354,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 99,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 139,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007194,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.2,
        "mechanical": 83.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\bar-visualizer.tsx",
      "language": "tsx",
      "line_count": 514,
      "token_estimate": 3379,
      "functions": [
        {
          "name": "normalizeDb",
          "type": "arrow_function",
          "line_start": 48,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0068,
          "ai_signals": []
        },
        {
          "name": "createAudioAnalyser",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 63,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 63,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 63,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 63,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3568,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "useMultibandVolume",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 13,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 113,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 91,
              "description": "Function is 113 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 113 lines (> 15 dynamic threshold)",
                "impact": "Function useMultibandVolume is 113 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 101,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 102,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 104,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 105,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 107,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 108,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 110,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 111,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 119,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3165,
          "ai_signals": [
            "High anti-pattern density (0.88)"
          ]
        },
        {
          "name": "generateConnectingSequenceBar",
          "type": "arrow_function",
          "line_start": 205,
          "line_end": 211,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0068,
          "ai_signals": []
        },
        {
          "name": "generateListeningSequenceBar",
          "type": "arrow_function",
          "line_start": 213,
          "line_end": 217,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0068,
          "ai_signals": []
        },
        {
          "name": "useBarAnimator",
          "type": "arrow_function",
          "line_start": 219,
          "line_end": 270,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 3,
            "line_count": 52,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 219,
              "description": "Function is 52 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 52 lines (> 37 dynamic threshold)",
                "impact": "Function useBarAnimator is 52 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 240,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 245,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2087,
          "ai_signals": [
            "High anti-pattern density (0.58)"
          ]
        },
        {
          "name": "updateFakeVolume",
          "type": "arrow_function",
          "line_start": 353,
          "line_end": 382,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 3,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0068,
          "ai_signals": []
        },
        {
          "name": "BarVisualizerCard",
          "type": "function_declaration",
          "line_start": 467,
          "line_end": 513,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 467,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function BarVisualizerCard is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 479,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1557,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 36.88,
        "function_length_stddev": 35.62,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 513,
        "comment_ratio": 0.0019,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.74,
        "debug_artifacts": [],
        "ai_smell_count": 19,
        "ai_smell_density": 0.037037,
        "structural_uniformity": 0.034,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.99,
        "mechanical": 71.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\github-profile.tsx",
      "language": "tsx",
      "line_count": 78,
      "token_estimate": 600,
      "functions": [
        {
          "name": "GithubProfile",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function GithubProfile is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.066,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 78,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012821,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.89,
        "mechanical": 83.89,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\pie-chart-card.tsx",
      "language": "tsx",
      "line_count": 148,
      "token_estimate": 1055,
      "functions": [
        {
          "name": "PieChartCard",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 94,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 54,
              "description": "Function is 94 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 94 lines (> 37 dynamic threshold)",
                "impact": "Function PieChartCard is 94 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 84,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 95,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 126,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 140,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 66,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 66,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 66,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2979,
          "ai_signals": [
            "High anti-pattern density (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 94,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 148,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.28,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.054054,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 70.24,
        "mechanical": 70.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\ui-elements.tsx",
      "language": "tsx",
      "line_count": 198,
      "token_estimate": 1763,
      "functions": [
        {
          "name": "UIElements",
          "type": "function_declaration",
          "line_start": 53,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 145,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 53,
              "description": "Function is 145 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 145 lines (> 37 dynamic threshold)",
                "impact": "Function UIElements is 145 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 90,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 55,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0724,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 145,
        "function_length_stddev": 0.0,
        "import_count": 16,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 198,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.42,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.015152,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.21,
        "mechanical": 81.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-01\\page.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 446,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-04\\page.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 472,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 21,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 21,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2561,
          "ai_signals": [
            "High anti-pattern density (0.73)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.5,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.051724,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.77,
        "mechanical": 77.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-07\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 245,
      "token_estimate": 1308,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 228,
          "line_end": 244,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 232,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 235,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 236,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 239,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 244,
        "comment_ratio": 0.0041,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.55,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.016393,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.8,
        "mechanical": 93.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-08\\components\\nav-projects.tsx",
      "language": "tsx",
      "line_count": 118,
      "token_estimate": 930,
      "functions": [
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 97,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 97 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 97 lines (> 37 dynamic threshold)",
                "impact": "Function NavProjects is 97 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 37,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0722,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 97,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 118,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.32,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.016949,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.76,
        "mechanical": 80.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-10\\components\\nav-actions.tsx",
      "language": "tsx",
      "line_count": 253,
      "token_estimate": 1528,
      "functions": [
        {
          "name": "NavActions",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 252,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 188,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function NavActions is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 189,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 190,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1615,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 253,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.48,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.011858,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.04,
        "mechanical": 82.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-11\\page.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 497,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.72,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.84,
        "mechanical": 86.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-14\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 197,
      "token_estimate": 1030,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 196,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 158,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 169,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 179,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 173,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 196,
        "comment_ratio": 0.0051,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.020408,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.2,
        "mechanical": 86.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-15\\components\\nav-workspaces.tsx",
      "language": "tsx",
      "line_count": 100,
      "token_estimate": 793,
      "functions": [
        {
          "name": "NavWorkspaces",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 78,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 78 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 78 lines (> 37 dynamic threshold)",
                "impact": "Function NavWorkspaces is 78 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0449,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 78,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 100,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.83,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.01,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.5,
        "mechanical": 82.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-16\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 214,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 29,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1296,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.19,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.025,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.65,
        "mechanical": 88.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\signup-02\\page.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 353,
      "functions": [
        {
          "name": "SignupPage",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 32,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.4,
        "mechanical": 86.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\components\\example.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 344,
      "functions": [
        {
          "name": "ExampleWrapper",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0835,
          "ai_signals": []
        },
        {
          "name": "Example",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0835,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 25.5,
        "function_length_stddev": 14.85,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.64,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4177,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.1,
        "mechanical": 94.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\breadcrumb-example.tsx",
      "language": "tsx",
      "line_count": 119,
      "token_estimate": 857,
      "functions": [
        {
          "name": "BreadcrumbExample",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1096,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbBasic",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1096,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbWithDropdown",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1096,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbWithLink",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 100,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 108,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 100,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 108,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4596,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 23,
        "function_length_stddev": 11.55,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 119,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.6,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.033613,
        "structural_uniformity": 0.498,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.7,
        "mechanical": 87.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\collapsible-example.tsx",
      "language": "tsx",
      "line_count": 242,
      "token_estimate": 1785,
      "functions": [
        {
          "name": "CollapsibleExample",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0264,
          "ai_signals": []
        },
        {
          "name": "CollapsibleFileTree",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 130,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 38,
              "description": "Function is 130 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 130 lines (> 37 dynamic threshold)",
                "impact": "Function CollapsibleFileTree is 130 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0533,
          "ai_signals": []
        },
        {
          "name": "CollapsibleSettings",
          "type": "function_declaration",
          "line_start": 169,
          "line_end": 241,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 73,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 169,
              "description": "Function is 73 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 73 lines (> 37 dynamic threshold)",
                "impact": "Function CollapsibleSettings is 73 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 170,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1223,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 70.33,
        "function_length_stddev": 61.04,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 242,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.03,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.012397,
        "structural_uniformity": 0.1321,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.07,
        "mechanical": 81.07,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\dropdown-menu-example.tsx",
      "language": "tsx",
      "line_count": 994,
      "token_estimate": 8075,
      "functions": [
        {
          "name": "DropdownMenuExample",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuBasic",
          "type": "function_declaration",
          "line_start": 63,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSides",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithIcons",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 178,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 123,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithIcons is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1633,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithShortcuts",
          "type": "function_declaration",
          "line_start": 180,
          "line_end": 218,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 180,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithShortcuts is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1906,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithSubmenu",
          "type": "function_declaration",
          "line_start": 220,
          "line_end": 252,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithCheckboxes",
          "type": "function_declaration",
          "line_start": 254,
          "line_end": 315,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 62,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 254,
              "description": "Function is 62 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 62 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithCheckboxes is 62 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 255,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 256,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 257,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3266,
          "ai_signals": [
            "High anti-pattern density (0.65)"
          ]
        },
        {
          "name": "DropdownMenuWithRadio",
          "type": "function_declaration",
          "line_start": 317,
          "line_end": 371,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 317,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithRadio is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 318,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2281,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithCheckboxesIcons",
          "type": "function_declaration",
          "line_start": 373,
          "line_end": 441,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 69,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 373,
              "description": "Function is 69 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 69 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithCheckboxesIcons is 69 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 374,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2023,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithRadioIcons",
          "type": "function_declaration",
          "line_start": 443,
          "line_end": 497,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 443,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithRadioIcons is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 444,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2281,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithDestructive",
          "type": "function_declaration",
          "line_start": 499,
          "line_end": 554,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 499,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithDestructive is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1633,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithAvatar",
          "type": "function_declaration",
          "line_start": 556,
          "line_end": 658,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 103,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 556,
              "description": "Function is 103 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 103 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithAvatar is 103 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 558,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 618,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 647,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2367,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuInDialog",
          "type": "function_declaration",
          "line_start": 660,
          "line_end": 741,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 660,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuInDialog is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1435,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithInset",
          "type": "function_declaration",
          "line_start": 743,
          "line_end": 830,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 88,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 743,
              "description": "Function is 88 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 88 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithInset is 88 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 744,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 745,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 746,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2599,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuComplex",
          "type": "function_declaration",
          "line_start": 832,
          "line_end": 993,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 162,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 832,
              "description": "Function is 162 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 162 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuComplex is 162 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 833,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 834,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1656,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 62.53,
        "function_length_stddev": 36.17,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 994,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.99,
        "debug_artifacts": [],
        "ai_smell_count": 25,
        "ai_smell_density": 0.025151,
        "structural_uniformity": 0.4216,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.71,
        "mechanical": 78.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\kbd-example.tsx",
      "language": "tsx",
      "line_count": 193,
      "token_estimate": 1070,
      "functions": [
        {
          "name": "KbdExample",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0926,
          "ai_signals": []
        },
        {
          "name": "KbdBasic",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0926,
          "ai_signals": []
        },
        {
          "name": "KbdModifierKeys",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0926,
          "ai_signals": []
        },
        {
          "name": "KbdGroupExample",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0926,
          "ai_signals": []
        },
        {
          "name": "KbdArrowKeys",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0926,
          "ai_signals": []
        },
        {
          "name": "KbdWithIcons",
          "type": "function_declaration",
          "line_start": 83,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0926,
          "ai_signals": []
        },
        {
          "name": "KbdWithIconsAndText",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0926,
          "ai_signals": []
        },
        {
          "name": "KbdInInputGroup",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0926,
          "ai_signals": []
        },
        {
          "name": "KbdInTooltip",
          "type": "function_declaration",
          "line_start": 161,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0926,
          "ai_signals": []
        },
        {
          "name": "KbdWithSamp",
          "type": "function_declaration",
          "line_start": 184,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0926,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 16.5,
        "function_length_stddev": 8.86,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 193,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.71,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.463,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.05,
        "mechanical": 98.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\radio-group-example.tsx",
      "language": "tsx",
      "line_count": 223,
      "token_estimate": 1768,
      "functions": [
        {
          "name": "RadioGroupExample",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "RadioGroupBasic",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "RadioGroupWithDescriptions",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 58,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function RadioGroupWithDescriptions is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2301,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "RadioGroupWithFieldSet",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "RadioGroupGrid",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "RadioGroupDisabled",
          "type": "function_declaration",
          "line_start": 164,
          "line_end": 189,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "RadioGroupInvalid",
          "type": "function_declaration",
          "line_start": 191,
          "line_end": 222,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 28.43,
        "function_length_stddev": 8.48,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 223,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.72,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.004484,
        "structural_uniformity": 0.7016,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.35,
        "mechanical": 93.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\sidebar-icon-example.tsx",
      "language": "tsx",
      "line_count": 462,
      "token_estimate": 3527,
      "functions": [
        {
          "name": "SidebarIconExample",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 461,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 410,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 52,
              "description": "Function is 410 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 410 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarIconExample is 410 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 332,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 350,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 368,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 390,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 413,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 347,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 235,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0683,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 410,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 462,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.02,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.017316,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.67,
        "mechanical": 80.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\tabs-example.tsx",
      "language": "tsx",
      "line_count": 360,
      "token_estimate": 2985,
      "functions": [
        {
          "name": "TabsExample",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1123,
          "ai_signals": []
        },
        {
          "name": "TabsBasic",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1123,
          "ai_signals": []
        },
        {
          "name": "TabsLine",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1123,
          "ai_signals": []
        },
        {
          "name": "TabsVariantsComparison",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1123,
          "ai_signals": []
        },
        {
          "name": "TabsDisabled",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1123,
          "ai_signals": []
        },
        {
          "name": "TabsWithIcons",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1123,
          "ai_signals": []
        },
        {
          "name": "TabsIconOnly",
          "type": "function_declaration",
          "line_start": 136,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1123,
          "ai_signals": []
        },
        {
          "name": "TabsMultiple",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 187,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1123,
          "ai_signals": []
        },
        {
          "name": "TabsWithContent",
          "type": "function_declaration",
          "line_start": 189,
          "line_end": 212,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1123,
          "ai_signals": []
        },
        {
          "name": "TabsLineWithContent",
          "type": "function_declaration",
          "line_start": 214,
          "line_end": 237,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1123,
          "ai_signals": []
        },
        {
          "name": "TabsLineDisabled",
          "type": "function_declaration",
          "line_start": 239,
          "line_end": 253,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1123,
          "ai_signals": []
        },
        {
          "name": "TabsWithDropdown",
          "type": "function_declaration",
          "line_start": 255,
          "line_end": 301,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 255,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function TabsWithDropdown is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1868,
          "ai_signals": []
        },
        {
          "name": "TabsVertical",
          "type": "function_declaration",
          "line_start": 303,
          "line_end": 329,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1123,
          "ai_signals": []
        },
        {
          "name": "TabsWithInputAndButton",
          "type": "function_declaration",
          "line_start": 331,
          "line_end": 359,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1123,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 14,
        "avg_function_length": 23.21,
        "function_length_stddev": 10.18,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 360,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.42,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.002778,
        "structural_uniformity": 0.5616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.34,
        "mechanical": 95.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\internal\\sink.tsx",
      "language": "tsx",
      "line_count": 116,
      "token_estimate": 1410,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0583,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 60,
        "function_length_stddev": 0.0,
        "import_count": 54,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 116,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.25,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008621,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.84,
        "mechanical": 82.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 105,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 12,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 12,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.33,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.086957,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.86,
        "mechanical": 75.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 257,
      "token_estimate": 1525,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0332,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3832,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2082,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0332,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 209,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0332,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 211,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0332,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 34.5,
        "function_length_stddev": 28.78,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 257,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.16,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.062257,
        "structural_uniformity": 0.1658,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.25,
        "mechanical": 73.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 7,
      "token_estimate": 25,
      "functions": [
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 7,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 157,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 8,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.18,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.2,
        "mechanical": 87.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 534,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 10,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.5,
        "function_length_stddev": 11.13,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.95,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0321,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 730,
      "token_estimate": 4873,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 134,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 134,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 108,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 70,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 74,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 76,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 86,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 92,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 97,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3549,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 252,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 152,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 192,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 192,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1088,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 254,
          "line_end": 285,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 287,
          "line_end": 310,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 291,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1507,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 312,
          "line_end": 323,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 325,
          "line_end": 337,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 339,
          "line_end": 348,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 350,
          "line_end": 359,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 361,
          "line_end": 373,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 375,
          "line_end": 387,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 389,
          "line_end": 401,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 403,
          "line_end": 425,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 427,
          "line_end": 449,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 451,
          "line_end": 463,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 465,
          "line_end": 474,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 476,
          "line_end": 485,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 508,
          "line_end": 560,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 508,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 530,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.137,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 562,
          "line_end": 590,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 592,
          "line_end": 607,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 609,
          "line_end": 645,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 638,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 638,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 617,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2887,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 647,
          "line_end": 656,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 658,
          "line_end": 670,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 672,
          "line_end": 702,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0049,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 25.5,
        "function_length_stddev": 24.88,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 721,
        "comment_ratio": 0.0123,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.77,
        "debug_artifacts": [],
        "ai_smell_count": 19,
        "ai_smell_density": 0.026352,
        "structural_uniformity": 0.0244,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.72,
        "mechanical": 86.72,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 119,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\dashboard-01\\components\\nav-documents.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 925,
      "functions": [
        {
          "name": "NavDocuments",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 96,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 96 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 96 lines (> 37 dynamic threshold)",
                "impact": "Function NavDocuments is 96 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 39,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0729,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 96,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.39,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017094,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.73,
        "mechanical": 80.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\login-01\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 77,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\login-05\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 84,
      "functions": [
        {
          "name": "LoginPage",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.53,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\dividend-income.tsx",
      "language": "tsx",
      "line_count": 140,
      "token_estimate": 862,
      "functions": [
        {
          "name": "DividendIncome",
          "type": "function_declaration",
          "line_start": 83,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 83,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function DividendIncome is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 119,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1228,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 3,
              "description": "Unused import: import { Bar, BarChart, XAxis } from \"recharts\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'XAxis' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Bar, BarChart, XAxis } from \"recharts\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 140,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014286,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.33,
        "mechanical": 82.33,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\loading-card.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 207,
      "functions": [
        {
          "name": "LoadingCard",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\receiving-method.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 810,
      "functions": [
        {
          "name": "ReceivingMethod",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 75,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 29,
              "description": "Function is 75 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 75 lines (> 37 dynamic threshold)",
                "impact": "Function ReceivingMethod is 75 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 75,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.76,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009615,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.6,
        "mechanical": 82.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\stock-performance.tsx",
      "language": "tsx",
      "line_count": 145,
      "token_estimate": 1001,
      "functions": [
        {
          "name": "StockPerformance",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 78,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 67,
              "description": "Function is 78 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 78 lines (> 37 dynamic threshold)",
                "impact": "Function StockPerformance is 78 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 127,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 128,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 68,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1795,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 4,
              "description": "Unused import: import { Area, AreaChart, CartesianGrid, XAxis } from \"recharts\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'XAxis' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Area, AreaChart, CartesianGrid, XAxis } from \"recharts\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 78,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 145,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.96,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.027586,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.85,
        "mechanical": 76.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\assign-issue.tsx",
      "language": "tsx",
      "line_count": 129,
      "token_estimate": 906,
      "functions": [
        {
          "name": "AssignIssue",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 80,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 49,
              "description": "Function is 80 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 80 lines (> 37 dynamic threshold)",
                "impact": "Function AssignIssue is 80 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 89,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 98,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 113,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 90,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 114,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2625,
          "ai_signals": [
            "High anti-pattern density (0.75)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 80,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 128,
        "comment_ratio": 0.0078,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.1,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.046875,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.28,
        "mechanical": 73.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\feedback-form.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 648,
      "functions": [
        {
          "name": "FeedbackForm",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function FeedbackForm is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0636,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 55,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.84,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.77,
        "mechanical": 82.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\not-found.tsx",
      "language": "tsx",
      "line_count": 55,
      "token_estimate": 410,
      "functions": [
        {
          "name": "NotFound",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 55,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\style-overview.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 676,
      "functions": [
        {
          "name": "StyleOverview",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 71,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 71 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 71 lines (> 37 dynamic threshold)",
                "impact": "Function StyleOverview is 71 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 66,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 66,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 33,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 34,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 35,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 37,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3451,
          "ai_signals": [
            "High anti-pattern density (0.99)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 71,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.81,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.08642,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 58.39,
        "mechanical": 58.39,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-01\\components\\search-form.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 270,
      "functions": [
        {
          "name": "SearchForm",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.93,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-03\\page.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 478,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.37,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.84,
        "mechanical": 86.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-06\\components\\sidebar-opt-in-form.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 241,
      "functions": [
        {
          "name": "SidebarOptInForm",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-08\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 254,
      "token_estimate": 1476,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 216,
          "line_end": 253,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 216,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 244,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 245,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 246,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 249,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 254,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.55,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.019685,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.68,
        "mechanical": 86.68,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-09\\page.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 432,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 48,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 21,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 21,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3415,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.98,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.068966,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.46,
        "mechanical": 73.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-10\\page.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 411,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-13\\components\\settings-dialog.tsx",
      "language": "tsx",
      "line_count": 249,
      "token_estimate": 1648,
      "functions": [
        {
          "name": "SettingsDialog",
          "type": "function_declaration",
          "line_start": 182,
          "line_end": 248,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 67,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 182,
              "description": "Function is 67 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 67 lines (> 37 dynamic threshold)",
                "impact": "Function SettingsDialog is 67 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 237,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 183,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1567,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 67,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 249,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.17,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.012048,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.99,
        "mechanical": 81.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-15\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 252,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 32,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.34,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.14,
        "mechanical": 88.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-16\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 628,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 43,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 67,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 49,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 48,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 64,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3333,
          "ai_signals": [
            "High anti-pattern density (0.95)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.95,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.071429,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.14,
        "mechanical": 67.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\signup-01\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 78,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\signup-05\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 85,
      "functions": [
        {
          "name": "SignupPage",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\avatar-example.tsx",
      "language": "tsx",
      "line_count": 512,
      "token_estimate": 3663,
      "functions": [
        {
          "name": "AvatarExample",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1022,
          "ai_signals": []
        },
        {
          "name": "AvatarSizes",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 43,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 47,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 51,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4409,
          "ai_signals": [
            "High anti-pattern density (0.97)"
          ]
        },
        {
          "name": "AvatarWithBadge",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 70,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarWithBadge is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 76,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 84,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 92,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4066,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        },
        {
          "name": "AvatarWithBadgeIcon",
          "type": "function_declaration",
          "line_start": 117,
          "line_end": 210,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 94,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 117,
              "description": "Function is 94 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 94 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarWithBadgeIcon is 94 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 123,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 139,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 155,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2512,
          "ai_signals": []
        },
        {
          "name": "AvatarGroupExample",
          "type": "function_declaration",
          "line_start": 212,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 66,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 212,
              "description": "Function is 66 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 66 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarGroupExample is 66 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 217,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 222,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 229,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 237,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 242,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 249,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 257,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 262,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 269,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4522,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "AvatarGroupWithCount",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 347,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 69,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 279,
              "description": "Function is 69 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 69 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarGroupWithCount is 69 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 284,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 289,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 296,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 305,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 310,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 317,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 326,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 331,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 338,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4522,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "AvatarGroupWithIconCount",
          "type": "function_declaration",
          "line_start": 349,
          "line_end": 447,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 99,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 349,
              "description": "Function is 99 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 99 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarGroupWithIconCount is 99 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 354,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 359,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 366,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 383,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 388,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 395,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 413,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 421,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 429,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4522,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "AvatarInEmpty",
          "type": "function_declaration",
          "line_start": 449,
          "line_end": 511,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 449,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarInEmpty is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 458,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 466,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 474,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3244,
          "ai_signals": [
            "High anti-pattern density (0.63)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 60.12,
        "function_length_stddev": 29.4,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 512,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.64,
        "debug_artifacts": [],
        "ai_smell_count": 45,
        "ai_smell_density": 0.087891,
        "structural_uniformity": 0.5111,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 63.03,
        "mechanical": 63.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\chart-example.tsx",
      "language": "tsx",
      "line_count": 583,
      "token_estimate": 4379,
      "functions": [
        {
          "name": "ChartExample",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1167,
          "ai_signals": []
        },
        {
          "name": "ChartAreaExample",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 66,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 74,
              "description": "Function is 66 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 66 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaExample is 66 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 102,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2758,
          "ai_signals": []
        },
        {
          "name": "ChartBarExample",
          "type": "function_declaration",
          "line_start": 161,
          "line_end": 208,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 161,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function ChartBarExample is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 172,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 180,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3355,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        },
        {
          "name": "ChartLineExample",
          "type": "function_declaration",
          "line_start": 230,
          "line_end": 297,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 230,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLineExample is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 248,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 256,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2711,
          "ai_signals": []
        },
        {
          "name": "ChartPieExample",
          "type": "function_declaration",
          "line_start": 333,
          "line_end": 414,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 333,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function ChartPieExample is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 351,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 362,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2448,
          "ai_signals": []
        },
        {
          "name": "ChartRadarExample",
          "type": "function_declaration",
          "line_start": 436,
          "line_end": 486,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 436,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarExample is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 452,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.254,
          "ai_signals": []
        },
        {
          "name": "ChartRadialExample",
          "type": "function_declaration",
          "line_start": 502,
          "line_end": 582,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 502,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadialExample is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 530,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2031,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 58.29,
        "function_length_stddev": 24.27,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 583,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.027444,
        "structural_uniformity": 0.5836,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.65,
        "mechanical": 78.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\dialog-example.tsx",
      "language": "tsx",
      "line_count": 587,
      "token_estimate": 6156,
      "functions": [
        {
          "name": "DialogExample",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogWithForm",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 79,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function DialogWithForm is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        },
        {
          "name": "DialogScrollableContent",
          "type": "function_declaration",
          "line_start": 122,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogWithStickyFooter",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 158,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function DialogWithStickyFooter is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0875,
          "ai_signals": []
        },
        {
          "name": "DialogNoCloseButton",
          "type": "function_declaration",
          "line_start": 199,
          "line_end": 223,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DialogChatSettings",
          "type": "function_declaration",
          "line_start": 256,
          "line_end": 586,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 331,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 256,
              "description": "Function is 331 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 331 lines (> 37 dynamic threshold)",
                "impact": "Function DialogChatSettings is 331 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 257,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 258,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 259,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 260,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 261,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0634,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 80.67,
        "function_length_stddev": 123.17,
        "import_count": 16,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 587,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.28,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.013629,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.59,
        "mechanical": 81.59,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\input-otp-example.tsx",
      "language": "tsx",
      "line_count": 293,
      "token_estimate": 2427,
      "functions": [
        {
          "name": "InputOTPExample",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "InputOTPSimple",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 57,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 61,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 62,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 63,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPPattern",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 78,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 79,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 81,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 82,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 83,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPWithSeparator",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 105,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 106,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 110,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 111,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 115,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 116,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 92,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPAlphanumeric",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 136,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 137,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 138,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 142,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 143,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPDisabled",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 159,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 160,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 161,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 165,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 166,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 167,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPFourDigits",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 183,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 184,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 185,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 186,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPInvalid",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 224,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 206,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 207,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 211,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 212,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 216,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 217,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 220,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 195,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPForm",
          "type": "function_declaration",
          "line_start": 226,
          "line_end": 292,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 67,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 226,
              "description": "Function is 67 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 67 lines (> 37 dynamic threshold)",
                "impact": "Function InputOTPForm is 67 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 258,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 259,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 260,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 264,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 265,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 266,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4372,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 28,
        "function_length_stddev": 15.8,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 293,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 50,
        "ai_smell_density": 0.170648,
        "structural_uniformity": 0.4359,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 69.6,
        "mechanical": 69.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\popover-example.tsx",
      "language": "tsx",
      "line_count": 164,
      "token_estimate": 1140,
      "functions": [
        {
          "name": "PopoverExample",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "PopoverBasic",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "PopoverWithForm",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "PopoverAlignments",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 127,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 90,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function PopoverAlignments is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2034,
          "ai_signals": []
        },
        {
          "name": "PopoverInDialog",
          "type": "function_declaration",
          "line_start": 129,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 27,
        "function_length_stddev": 11.98,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 164,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.36,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006098,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.38,
        "mechanical": 93.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\sidebar-example.tsx",
      "language": "tsx",
      "line_count": 287,
      "token_estimate": 2007,
      "functions": [
        {
          "name": "SidebarExample",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 286,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 247,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 40,
              "description": "Function is 247 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 247 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarExample is 247 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 260,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 172,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0425,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 5,
              "description": "Unused import: import { Button } from \"@/registry/bases/radix/ui/button\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Button' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Button } from \"@/registry/bases/radix/ui/button\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 13,
              "description": "Unused import: import {\n  Item,\n  ItemActions,\n  ItemContent,\n  ItemDescription,\n  ItemMedia,\n  ItemTitle,\n} from \"@/registry/bases/radix/ui/item\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'ItemMedia' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Item,\n  ItemActions,\n  ItemContent,\n  ItemDescription,\n  ItemMedia,\n  ItemTitle,\n} from \"@/registry/bases/radix/ui/item\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 247,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 287,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.77,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.010453,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 2
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.39,
        "mechanical": 82.39,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\switch-example.tsx",
      "language": "tsx",
      "line_count": 102,
      "token_estimate": 674,
      "functions": [
        {
          "name": "SwitchExample",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "SwitchBasic",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "SwitchWithLabel",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "SwitchWithDescription",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "SwitchDisabled",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "SwitchSizes",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 13.67,
        "function_length_stddev": 4.08,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 102,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.76,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7013,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.9,
        "mechanical": 98.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\hooks\\use-mobile.ts",
      "language": "typescript",
      "line_count": 20,
      "token_estimate": 141,
      "functions": [
        {
          "name": "useIsMobile",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 8,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2333,
          "ai_signals": [
            "High anti-pattern density (0.67)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.85,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.05,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.0,
        "mechanical": 86.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 185,
      "token_estimate": 1101,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.123,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.123,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.123,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.123,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.123,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.123,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.123,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.123,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 109,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.123,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 122,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.123,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 151,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.123,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 153,
          "line_end": 169,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.123,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 12.5,
        "function_length_stddev": 4.81,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 185,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.81,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6148,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 247,
      "token_estimate": 2268,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 205,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 191,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 191 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 191 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 191 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 31,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 189,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 43,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0843,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 207,
          "line_end": 244,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 207,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarDayButton is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 222,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 218,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 226,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 217,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 218,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.361,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 114.5,
        "function_length_stddev": 108.19,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 247,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 10,
        "ai_smell_density": 0.040486,
        "structural_uniformity": 0.0551,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.63,
        "mechanical": 68.63,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 281,
      "token_estimate": 1841,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 187,
          "line_end": 219,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 221,
          "line_end": 236,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 238,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 251,
          "line_end": 262,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0759,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 16,
        "function_length_stddev": 9.93,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 281,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3795,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 148,
      "token_estimate": 882,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 56,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 56,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 59,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 59,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 59,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4943,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 83,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 92,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3388,
          "ai_signals": [
            "High anti-pattern density (0.56)",
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 104,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4625,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 127,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 14.5,
        "function_length_stddev": 4.04,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 148,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.54,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.047297,
        "structural_uniformity": 0.7216,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.83,
        "mechanical": 86.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 170,
      "token_estimate": 1188,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1453,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1453,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1453,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1453,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1453,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "NavigationMenuViewport",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1453,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1453,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 157,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1453,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.38,
        "function_length_stddev": 4.75,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 170,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7267,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.47,
        "mechanical": 97.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 166,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 102,
      "token_estimate": 499,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1753,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 9.62,
        "function_length_stddev": 1.19,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 102,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8766,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\fonts.ts",
      "language": "typescript",
      "line_count": 35,
      "token_estimate": 294,
      "functions": [
        {
          "name": "createFontItem",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.0,
        "mechanical": 87.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\icons\\icon-lucide.tsx",
      "language": "tsx",
      "line_count": 4,
      "token_estimate": 27,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 4,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\dashboard-01\\components\\nav-documents.tsx",
      "language": "tsx",
      "line_count": 93,
      "token_estimate": 627,
      "functions": [
        {
          "name": "NavDocuments",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function NavDocuments is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 46,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1077,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 93,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.83,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021505,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.62,
        "mechanical": 79.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\login-01\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 77,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\login-05\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 84,
      "functions": [
        {
          "name": "LoginPage",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-02\\page.tsx",
      "language": "tsx",
      "line_count": 49,
      "token_estimate": 393,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 39,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1094,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 49,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.29,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.020408,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.3,
        "mechanical": 88.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-06\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 180,
      "token_estimate": 952,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 179,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 169,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1094,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 179,
        "comment_ratio": 0.0056,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.66,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005587,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.0,
        "mechanical": 92.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-07\\components\\team-switcher.tsx",
      "language": "tsx",
      "line_count": 92,
      "token_estimate": 742,
      "functions": [
        {
          "name": "TeamSwitcher",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 70,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 70 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 70 lines (> 37 dynamic threshold)",
                "impact": "Function TeamSwitcher is 70 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 32,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 70,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 92,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.55,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021739,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.57,
        "mechanical": 71.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-09\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 263,
      "token_estimate": 2221,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 262,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 117,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 146,
              "description": "Function is 117 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 117 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 117 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 218,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-array-mutation-in-render",
              "severity": "high",
              "line": 196,
              "description": "Array.prototype methods that mutate (sort, splice, reverse) called in render - mutates props/state, causes bugs across renders",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 228,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 149,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 150,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2094,
          "ai_signals": [
            "High anti-pattern density (0.60)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 117,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 3,
        "code_lines": 260,
        "comment_ratio": 0.0114,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.026923,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.27,
        "mechanical": 78.27,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-10\\components\\nav-workspaces.tsx",
      "language": "tsx",
      "line_count": 86,
      "token_estimate": 645,
      "functions": [
        {
          "name": "NavWorkspaces",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function NavWorkspaces is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0538,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 86,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.74,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011628,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.09,
        "mechanical": 82.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-12\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 859,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.128,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 82,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.11,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.026087,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.23,
        "mechanical": 77.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-15\\components\\nav-favorites.tsx",
      "language": "tsx",
      "line_count": 95,
      "token_estimate": 683,
      "functions": [
        {
          "name": "NavFavorites",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 67,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 67 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 67 lines (> 37 dynamic threshold)",
                "impact": "Function NavFavorites is 67 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 46,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1045,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 67,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 95,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.84,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021053,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.74,
        "mechanical": 79.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-15\\page.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 401,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.6,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-16\\page.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 303,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 3,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.08,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\signup-04\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 86,
      "functions": [
        {
          "name": "SignupPage",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-area-interactive.tsx",
      "language": "tsx",
      "line_count": 267,
      "token_estimate": 2462,
      "functions": [
        {
          "name": "ChartAreaInteractive",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 266,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 128,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 139,
              "description": "Function is 128 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 128 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaInteractive is 128 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 217,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 232,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 235,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 260,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 140,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1641,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 128,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 267,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.68,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.022472,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.38,
        "mechanical": 79.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-bar-horizontal.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 553,
      "functions": [
        {
          "name": "ChartBarHorizontal",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function ChartBarHorizontal is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1556,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.02381,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.55,
        "mechanical": 83.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-line-default.tsx",
      "language": "tsx",
      "line_count": 89,
      "token_estimate": 567,
      "functions": [
        {
          "name": "ChartLineDefault",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLineDefault is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 64,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.21,
          "ai_signals": [
            "High anti-pattern density (0.60)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 89,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.32,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033708,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.57,
        "mechanical": 79.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-line-multiple.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 682,
      "functions": [
        {
          "name": "ChartLineMultiple",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLineMultiple is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 60,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 68,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.181,
          "ai_signals": [
            "High anti-pattern density (0.52)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.029703,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.17,
        "mechanical": 78.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-pie-label.tsx",
      "language": "tsx",
      "line_count": 86,
      "token_estimate": 577,
      "functions": [
        {
          "name": "ChartPieLabel",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2414,
          "ai_signals": [
            "High anti-pattern density (0.69)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 86,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.67,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.023256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.49,
        "mechanical": 88.49,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-grid-circle-no-lines.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 565,
      "functions": [
        {
          "name": "ChartRadarGridCircleNoLines",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarGridCircleNoLines is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1591,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.22,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.024096,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.78,
        "mechanical": 83.78,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-lines-only.tsx",
      "language": "tsx",
      "line_count": 92,
      "token_estimate": 638,
      "functions": [
        {
          "name": "ChartRadarLinesOnly",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarLinesOnly is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 63,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2143,
          "ai_signals": [
            "High anti-pattern density (0.61)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 92,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.032609,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.15,
        "mechanical": 80.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radial-text.tsx",
      "language": "tsx",
      "line_count": 113,
      "token_estimate": 815,
      "functions": [
        {
          "name": "ChartRadialText",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 72,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 41,
              "description": "Function is 72 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 72 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadialText is 72 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 69,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0972,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 72,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 113,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.29,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017699,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.58,
        "mechanical": 80.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-tooltip-label-formatter.tsx",
      "language": "tsx",
      "line_count": 95,
      "token_estimate": 628,
      "functions": [
        {
          "name": "ChartTooltipLabelFormatter",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 41,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipLabelFormatter is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 76,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1944,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 54,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 95,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.031579,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.91,
        "mechanical": 78.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\avatar-demo.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 321,
      "functions": [
        {
          "name": "AvatarDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 11,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 16,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 23,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 28,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 35,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.113636,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.9,
        "mechanical": 66.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\breadcrumb-link.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 210,
      "functions": [
        {
          "name": "BreadcrumbWithCustomSeparator",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 18,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 24,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3213,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.02,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.057143,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.81,
        "mechanical": 81.81,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-group-demo.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 876,
      "functions": [
        {
          "name": "ButtonGroupDemo",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 83,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 32,
              "description": "Function is 83 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 83 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupDemo is 83 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 33,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0952,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 83,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.65,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017391,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.65,
        "mechanical": 80.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-group-separator.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 110,
      "functions": [
        {
          "name": "ButtonGroupSeparatorDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-secondary.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 40,
      "functions": [
        {
          "name": "ButtonSecondary",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.6,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\carousel-demo.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 220,
      "functions": [
        {
          "name": "CarouselDemo",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\chart-bar-demo-tooltip.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 337,
      "functions": [
        {
          "name": "Component",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 36,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 44,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.039216,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.5,
        "mechanical": 87.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\combobox-dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 103,
      "token_estimate": 809,
      "functions": [
        {
          "name": "ComboboxDropdownMenu",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 64,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 64 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 64 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxDropdownMenu is 64 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 40,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 41,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 69,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 64,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 103,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.09,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.038835,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.29,
        "mechanical": 75.29,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\date-picker-with-presets.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 457,
      "functions": [
        {
          "name": "DatePickerWithPresets",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerWithPresets is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0814,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.1,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015152,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.31,
        "mechanical": 81.31,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\dropdown-menu-dialog.tsx",
      "language": "tsx",
      "line_count": 116,
      "token_estimate": 978,
      "functions": [
        {
          "name": "DropdownMenuDialog",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 87,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 2,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 29,
              "description": "Function is 87 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 87 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuDialog is 87 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 34,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 30,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 31,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1609,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 87,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 116,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.46,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.034483,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.38,
        "mechanical": 76.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\empty-outline.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 198,
      "functions": [
        {
          "name": "EmptyOutline",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.64,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\field-responsive.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 495,
      "functions": [
        {
          "name": "FieldResponsive",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function FieldResponsive is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0745,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.76,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016129,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.87,
        "mechanical": 84.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-next-demo-action.ts",
      "language": "typescript",
      "line_count": 36,
      "token_estimate": 166,
      "functions": [
        {
          "name": "demoFormAction",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 10,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 11,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 10,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 11,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.45,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 2,
        "code_lines": 34,
        "comment_ratio": 0.0556,
        "comment_what_ratio": 0.5,
        "naming_avg_length": 6.67,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.117647,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 63.2,
        "mechanical": 63.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-rhf-password.tsx",
      "language": "tsx",
      "line_count": 225,
      "token_estimate": 1712,
      "functions": [
        {
          "name": "test",
          "type": "arrow_function",
          "line_start": 36,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "test",
          "type": "arrow_function",
          "line_start": 41,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "test",
          "type": "arrow_function",
          "line_start": 46,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "test",
          "type": "arrow_function",
          "line_start": 48,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "test",
          "type": "arrow_function",
          "line_start": 52,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 1,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "FormRhfPassword",
          "type": "function_declaration",
          "line_start": 78,
          "line_end": 224,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 147,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 78,
              "description": "Function is 147 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 147 lines (> 37 dynamic threshold)",
                "impact": "Function FormRhfPassword is 147 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 155,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 167,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 181,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 204,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 146,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 120,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 120,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1905,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 25.33,
        "function_length_stddev": 59.6,
        "import_count": 11,
        "export_count": 1,
        "comment_lines": 2,
        "code_lines": 223,
        "comment_ratio": 0.0089,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.035874,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.43,
        "mechanical": 86.43,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-tanstack-demo.tsx",
      "language": "tsx",
      "line_count": 166,
      "token_estimate": 1313,
      "functions": [
        {
          "name": "BugReportForm",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 165,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 122,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 44,
              "description": "Function is 122 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 122 lines (> 37 dynamic threshold)",
                "impact": "Function BugReportForm is 122 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 96,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 107,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 122,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 64,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 64,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2008,
          "ai_signals": [
            "High anti-pattern density (0.57)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 122,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 165,
        "comment_ratio": 0.006,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.66,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.042424,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.39,
        "mechanical": 74.39,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-disabled.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 40,
      "functions": [
        {
          "name": "InputDisabled",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-group-label.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 354,
      "functions": [
        {
          "name": "InputGroupLabel",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-otp-separator.tsx",
      "language": "tsx",
      "line_count": 30,
      "token_estimate": 165,
      "functions": [
        {
          "name": "InputOTPWithSeparator",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 14,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 15,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 19,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 20,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 25,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 30,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.0,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.2,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.0,
        "mechanical": 72.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\item-header.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 420,
      "functions": [
        {
          "name": "ItemHeaderDemo",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 43,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 43,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.28,
          "ai_signals": [
            "High anti-pattern density (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.13,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.032787,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.3,
        "mechanical": 87.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\kbd-group.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 102,
      "functions": [
        {
          "name": "KbdGroupExample",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.24,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\native-select-groups.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 339,
      "functions": [
        {
          "name": "NativeSelectGroups",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0125,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\resizable-demo.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 296,
      "functions": [
        {
          "name": "ResizableDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.29,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\sheet-demo.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 364,
      "functions": [
        {
          "name": "SheetDemo",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.55,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\spinner-basic.tsx",
      "language": "tsx",
      "line_count": 10,
      "token_estimate": 54,
      "functions": [
        {
          "name": "SpinnerBasic",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 10,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.76,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\spinner-size.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 80,
      "functions": [
        {
          "name": "SpinnerSize",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\textarea-with-text.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 119,
      "functions": [
        {
          "name": "TextareaWithText",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\toggle-group-sm.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 167,
      "functions": [
        {
          "name": "ToggleGroupDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-demo.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 1379,
      "functions": [
        {
          "name": "TypographyDemo",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function TypographyDemo is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-table-missing-caption",
              "severity": "medium",
              "line": 69,
              "description": "Data table without caption or aria-label - screen reader users cannot understand the table's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0588,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.17,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.016667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.83,
        "mechanical": 80.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-list.tsx",
      "language": "tsx",
      "line_count": 10,
      "token_estimate": 68,
      "functions": [
        {
          "name": "TypographyList",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 10,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\sidebar-controlled.tsx",
      "language": "tsx",
      "line_count": 97,
      "token_estimate": 544,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 70,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 57,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2561,
          "ai_signals": [
            "High anti-pattern density (0.73)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 97,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.12,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.030928,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.97,
        "mechanical": 77.97,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\sidebar-menu-badge.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 461,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 72,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.27,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011364,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.86,
        "mechanical": 90.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\_registry.ts",
      "language": "typescript",
      "line_count": 706,
      "token_estimate": 3320,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 706,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 553,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3607,
          "ai_signals": [
            "High anti-pattern density (0.53)",
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 17,
        "function_length_stddev": 2.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.6,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011905,
        "structural_uniformity": 0.8824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.09,
        "mechanical": 94.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 311,
      "token_estimate": 2294,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 68,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 69,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 85,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3607,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 127,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 129,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 169,
          "line_end": 177,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 179,
          "line_end": 193,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 195,
          "line_end": 199,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 201,
          "line_end": 212,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 214,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 242,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 244,
          "line_end": 273,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 287,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 289,
          "line_end": 291,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.069,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 16.19,
        "function_length_stddev": 10.6,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 311,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009646,
        "structural_uniformity": 0.345,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.26,
        "mechanical": 95.26,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 249,
      "token_estimate": 1544,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.076,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.076,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.076,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.076,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.076,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.076,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.076,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.076,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.076,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 186,
          "line_end": 235,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 186,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 194,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 199,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 207,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 208,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 192,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.426,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 19.3,
        "function_length_stddev": 11.96,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 249,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.9,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.032129,
        "structural_uniformity": 0.3801,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.38,
        "mechanical": 88.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 151,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 453,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0495,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0495,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 24 lines (> 22 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 24 lines (> 22 dynamic threshold)",
                "impact": "Function ResizableHandle is 24 lines \u2014 exceeds 22 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1953,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14,
        "function_length_stddev": 10.54,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.6,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.018519,
        "structural_uniformity": 0.2475,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.55,
        "mechanical": 93.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 258,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.121951,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 70.2,
        "mechanical": 70.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 457,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 11.25,
        "function_length_stddev": 8.5,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2444,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.62,
        "mechanical": 99.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 100,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 12,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 12,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.086957,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.86,
        "mechanical": 75.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1419,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.01,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 7,
      "token_estimate": 25,
      "functions": [
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 7,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 251,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 8,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.01,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.2,
        "mechanical": 87.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 654,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 10,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.5,
        "function_length_stddev": 11.13,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0321,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 727,
      "token_estimate": 5448,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 134,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 134,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 108,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 70,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 74,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 76,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 86,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 92,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 97,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3545,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 252,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 152,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 192,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 192,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1084,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 254,
          "line_end": 278,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 280,
          "line_end": 303,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 284,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1503,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 305,
          "line_end": 316,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 318,
          "line_end": 330,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 332,
          "line_end": 344,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 346,
          "line_end": 355,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 357,
          "line_end": 369,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 371,
          "line_end": 383,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 385,
          "line_end": 394,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 396,
          "line_end": 418,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 420,
          "line_end": 442,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 444,
          "line_end": 456,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 458,
          "line_end": 467,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 469,
          "line_end": 478,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 502,
          "line_end": 554,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 502,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 524,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1365,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 556,
          "line_end": 584,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 586,
          "line_end": 601,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 603,
          "line_end": 639,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 632,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 632,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 611,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2882,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 641,
          "line_end": 653,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 655,
          "line_end": 667,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 669,
          "line_end": 699,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0045,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 25.33,
        "function_length_stddev": 24.77,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 718,
        "comment_ratio": 0.0124,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.53,
        "debug_artifacts": [],
        "ai_smell_count": 19,
        "ai_smell_density": 0.026462,
        "structural_uniformity": 0.0223,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.74,
        "mechanical": 86.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 205,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 110,
      "token_estimate": 759,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 14.67,
        "function_length_stddev": 2.58,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 110,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.6,
        "mechanical": 98.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2625,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1099,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.5,
        "function_length_stddev": 5.78,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4497,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 202,
      "token_estimate": 1218,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 164,
          "line_end": 175,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 177,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.2,
        "function_length_stddev": 3.68,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 202,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7215,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.04,
        "mechanical": 99.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 432,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressTrack",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 30,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ProgressIndicator",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressLabel",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4866,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ProgressValue",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 13,
        "function_length_stddev": 4.12,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.74,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.035714,
        "structural_uniformity": 0.6828,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.17,
        "mechanical": 90.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 69,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 791,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 50,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 43,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 43,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4735,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.87)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1735,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32,
        "function_length_stddev": 4.24,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.69,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8674,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.07,
        "mechanical": 80.07,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 484,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.42,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 339,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2217,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 187,
          "line_end": 194,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 196,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 11.36,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2657,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 209,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 413,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 14,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4949,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 488,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.26,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 411,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.98,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 123,
      "token_estimate": 649,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 75,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.14,
        "function_length_stddev": 4.45,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 123,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.4,
        "mechanical": 98.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 164,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 4.33,
        "function_length_stddev": 1.15,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7335,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 601,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 131,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 417,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 711,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 16.07,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\button-group.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 622,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 18,
        "function_length_stddev": 3.61,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7997,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\combobox.tsx",
      "language": "tsx",
      "line_count": 301,
      "token_estimate": 2279,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.376,
          "ai_signals": [
            "High anti-pattern density (0.88)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 163,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 186,
          "line_end": 190,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 205,
          "line_end": 216,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 218,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 264,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 266,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 281,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.56,
        "function_length_stddev": 10.33,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 301,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009967,
        "structural_uniformity": 0.336,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.37,
        "mechanical": 95.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1512,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.86,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\menubar.tsx",
      "language": "tsx",
      "line_count": 285,
      "token_estimate": 2072,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 194,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 196,
          "line_end": 207,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 209,
          "line_end": 223,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 225,
          "line_end": 229,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 231,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 251,
          "line_end": 265,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0859,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 14.12,
        "function_length_stddev": 8.06,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 285,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4296,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.76,
        "mechanical": 98.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 406,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 667,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 17,
        "function_length_stddev": 9.56,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4378,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 802,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.84,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 194,
      "token_estimate": 1253,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 147,
          "line_end": 165,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 167,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.44,
        "function_length_stddev": 6.31,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 194,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6385,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.77,
        "mechanical": 97.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 463,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.67,
        "function_length_stddev": 16.77,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.9,
        "mechanical": 98.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 496,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 203,
      "token_estimate": 1678,
      "functions": [
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2169,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function SelectContent is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1726,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 153,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 155,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 189,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 19,
        "function_length_stddev": 10.71,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 203,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.93,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.009852,
        "structural_uniformity": 0.4362,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.84,
        "mechanical": 94.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 426,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 188,
      "token_estimate": 1307,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 157,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 168,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3312,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 12.75,
        "function_length_stddev": 5.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 188,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.74,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005319,
        "structural_uniformity": 0.5625,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 232,
      "token_estimate": 2102,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1584,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 229,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 211,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3668,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105,
        "function_length_stddev": 96.17,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 232,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.047414,
        "structural_uniformity": 0.0841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.9,
        "mechanical": 66.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2029,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 199,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 9.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3804,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 159,
      "token_estimate": 1276,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 58,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 58,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 61,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5005,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 97,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3255,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 107,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 109,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4687,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.83,
        "function_length_stddev": 3.92,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 159,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044025,
        "structural_uniformity": 0.7524,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.24,
        "mechanical": 87.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 172,
      "token_estimate": 1860,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3106,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuPositioner",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 127,
          "line_end": 141,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.75,
        "function_length_stddev": 4.98,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 172,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005814,
        "structural_uniformity": 0.7195,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.22,
        "mechanical": 96.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 136,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 516,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 101,
      "token_estimate": 643,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1496,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.43,
        "function_length_stddev": 2.88,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 101,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.64,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7481,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.57,
        "mechanical": 99.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 168,
      "token_estimate": 1057,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 140,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0467,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.6,
        "function_length_stddev": 10.43,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 168,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2333,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.47,
        "mechanical": 98.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 622,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 133,
      "token_estimate": 719,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2715,
          "ai_signals": []
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.43,
        "function_length_stddev": 6.32,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 133,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007519,
        "structural_uniformity": 0.5619,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.08,
        "mechanical": 96.08,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 147,
      "token_estimate": 1143,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 48,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1103,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0205,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 11.7,
        "function_length_stddev": 10.5,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 147,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.01,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006803,
        "structural_uniformity": 0.1026,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.56,
        "mechanical": 97.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 895,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 77,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 15.5,
        "function_length_stddev": 2.65,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8293,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.35,
        "mechanical": 98.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 68,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1413,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.03,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 126,
      "functions": [
        {
          "name": "DirectionProvider",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 242,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 7,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-form-missing-labels",
              "severity": "high",
              "line": 7,
              "description": "Form input without associated label - screen readers cannot identify what the input is for",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.1,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.1,
        "mechanical": 74.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 603,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverAnchor",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 9.43,
        "function_length_stddev": 5.77,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3881,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 703,
      "token_estimate": 5327,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 133,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 133,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 107,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 69,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 73,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 75,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 85,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 91,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 251,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 151,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 191,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 191,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.104,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 253,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 302,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 283,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 304,
          "line_end": 315,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 317,
          "line_end": 329,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 331,
          "line_end": 340,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 342,
          "line_end": 351,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 353,
          "line_end": 365,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 367,
          "line_end": 379,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 381,
          "line_end": 390,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 392,
          "line_end": 410,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 412,
          "line_end": 430,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 432,
          "line_end": 444,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 446,
          "line_end": 455,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 457,
          "line_end": 466,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 490,
          "line_end": 538,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 490,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 540,
          "line_end": 564,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 566,
          "line_end": 581,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 583,
          "line_end": 619,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 612,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 612,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 591,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2838,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 621,
          "line_end": 633,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 635,
          "line_end": 647,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 649,
          "line_end": 675,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 24.38,
        "function_length_stddev": 24.66,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 694,
        "comment_ratio": 0.0128,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 18,
        "ai_smell_density": 0.025937,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.74,
        "mechanical": 86.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 210,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 113,
      "token_estimate": 774,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.17,
        "function_length_stddev": 2.23,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 113,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8531,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.45,
        "mechanical": 98.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2625,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1036,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.5,
        "function_length_stddev": 5.78,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.6,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4497,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 197,
      "token_estimate": 1199,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 95,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 136,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 149,
          "line_end": 157,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 172,
          "line_end": 183,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.8,
        "function_length_stddev": 2.53,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 197,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8024,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.91,
        "mechanical": 98.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 186,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.15,
        "mechanical": 95.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 68,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 816,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 49,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 42,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 42,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4782,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1782,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32.5,
        "function_length_stddev": 3.54,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8912,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.92,
        "mechanical": 79.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 476,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.26,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.1,
        "mechanical": 95.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 348,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 274,
      "token_estimate": 2246,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 120,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 162,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 182,
          "line_end": 193,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 195,
          "line_end": 209,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 211,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 217,
          "line_end": 239,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 241,
          "line_end": 255,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.53,
        "function_length_stddev": 8.71,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 274,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4394,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.34,
        "mechanical": 98.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 211,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 423,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 17,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 462,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.13,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 453,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 619,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 85,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3461,
          "ai_signals": [
            "High anti-pattern density (0.59)",
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 13.86,
        "function_length_stddev": 4.14,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008333,
        "structural_uniformity": 0.7012,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.04,
        "mechanical": 96.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\collapsible.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 198,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 8.33,
        "function_length_stddev": 2.89,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6536,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\label.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 151,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 438,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\tooltip.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 527,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 11.25,
        "function_length_stddev": 8.5,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2444,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.62,
        "mechanical": 99.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 586,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3607,
          "ai_signals": [
            "High anti-pattern density (0.53)",
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 17,
        "function_length_stddev": 2.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011905,
        "structural_uniformity": 0.8824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.09,
        "mechanical": 94.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 303,
      "token_estimate": 2288,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 82,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3568,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 124,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 126,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 205,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 207,
          "line_end": 218,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 220,
          "line_end": 235,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 237,
          "line_end": 266,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 268,
          "line_end": 279,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 281,
          "line_end": 283,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.69,
        "function_length_stddev": 10.58,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 303,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009901,
        "structural_uniformity": 0.3255,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.35,
        "mechanical": 95.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1511,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 285,
      "token_estimate": 2139,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 172,
          "line_end": 190,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 205,
          "line_end": 219,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 221,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 251,
          "line_end": 265,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.12,
        "function_length_stddev": 8.19,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 285,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4586,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.46,
        "mechanical": 98.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 423,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 684,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.5,
        "function_length_stddev": 7.9,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5732,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.45,
        "mechanical": 97.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 68,
      "token_estimate": 833,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 68,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.77,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.9,
        "mechanical": 93.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 193,
      "token_estimate": 1244,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 117,
          "line_end": 131,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 133,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 164,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.33,
        "function_length_stddev": 6.02,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 193,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6526,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.8,
        "mechanical": 97.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 379,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 11,
        "function_length_stddev": 8.72,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.71,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2075,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 483,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 196,
      "token_estimate": 1678,
      "functions": [
        {
          "name": "Select",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 164,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 16.5,
        "function_length_stddev": 9.78,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 196,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4074,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 439,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.92,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\empty-input-group.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 282,
      "functions": [
        {
          "name": "EmptyInputGroup",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.9,
        "mechanical": 94.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\input-group-demo.tsx",
      "language": "tsx",
      "line_count": 99,
      "token_estimate": 804,
      "functions": [
        {
          "name": "InputGroupDemo",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 74,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 74 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 74 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupDemo is 74 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0473,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 74,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 99,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.77,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010101,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.47,
        "mechanical": 82.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\blocks\\[...categories]\\page.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 235,
      "functions": [
        {
          "name": "generateStaticParams",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.035,
          "ai_signals": []
        },
        {
          "name": "BlocksPage",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 30,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2192,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 12,
        "function_length_stddev": 9.9,
        "import_count": 4,
        "export_count": 5,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.61,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.028571,
        "structural_uniformity": 0.175,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.26,
        "mechanical": 92.26,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\accent-picker.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 970,
      "functions": [
        {
          "name": "MenuAccentPicker",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 90,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 90 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 90 lines (> 37 dynamic threshold)",
                "impact": "Function MenuAccentPicker is 90 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 76,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 76,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 35,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 53,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 62,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 74,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2722,
          "ai_signals": [
            "High anti-pattern density (0.78)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 90,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.11,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.066667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 64.58,
        "mechanical": 64.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\font-picker.tsx",
      "language": "tsx",
      "line_count": 159,
      "token_estimate": 1131,
      "functions": [
        {
          "name": "FontPicker",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 158,
          "metrics": {
            "cyclomatic_complexity": 10,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 126,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 126 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 126 lines (> 37 dynamic threshold)",
                "impact": "Function FontPicker is 126 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 152,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 50,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 50,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 126,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 67,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 68,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 108,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 108,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 109,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 48,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.3056,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 126,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 159,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.29,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.069182,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 45.2,
        "mechanical": 45.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\mode-switcher.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 633,
      "functions": [
        {
          "name": "ModeSwitcher",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function ModeSwitcher is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2686,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.91)"
          ]
        },
        {
          "name": "DarkModeScript",
          "type": "function_declaration",
          "line_start": 53,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1811,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.91)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 58,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 37.5,
        "function_length_stddev": 3.54,
        "import_count": 5,
        "export_count": 3,
        "comment_lines": 1,
        "code_lines": 87,
        "comment_ratio": 0.0114,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.9057,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.88,
        "mechanical": 88.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\radius-picker.tsx",
      "language": "tsx",
      "line_count": 111,
      "token_estimate": 874,
      "functions": [
        {
          "name": "RadiusPicker",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 93,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 93 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 93 lines (> 37 dynamic threshold)",
                "impact": "Function RadiusPicker is 93 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 75,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 75,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 42,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 70,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1882,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 93,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 111,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.35,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.045045,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.49,
        "mechanical": 67.49,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\hooks\\use-action-menu.ts",
      "language": "typescript",
      "line_count": 143,
      "token_estimate": 906,
      "functions": [
        {
          "name": "sortRegistryGroups",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-array-mutation-in-render",
              "severity": "high",
              "line": 33,
              "description": "Array.prototype methods that mutate (sort, splice, reverse) called in render - mutates props/state, causes bugs across renders",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.25,
          "ai_signals": [
            "High anti-pattern density (0.71)"
          ]
        },
        {
          "name": "useActionMenu",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 79,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 47,
              "description": "Function is 79 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 79 lines (> 37 dynamic threshold)",
                "impact": "Function useActionMenu is 79 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 81,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 89,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 96,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 97,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 101,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2658,
          "ai_signals": [
            "High anti-pattern density (0.76)"
          ]
        },
        {
          "name": "useActionMenuTrigger",
          "type": "function_declaration",
          "line_start": 127,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 135,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 36.33,
        "function_length_stddev": 36.96,
        "import_count": 5,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 143,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.92,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.055944,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.11,
        "mechanical": 78.11,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\layout.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 102,
      "functions": [
        {
          "name": "CreateLayout",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-suspense-without-fallback",
              "severity": "medium",
              "line": 13,
              "description": "Suspense boundary with no fallback prop - shows nothing during loading, causing layout shift when content appears",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.68,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.052632,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.94,
        "mechanical": 85.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\lib\\randomize-biases.ts",
      "language": "typescript",
      "line_count": 109,
      "token_estimate": 655,
      "functions": [
        {
          "name": "baseColors",
          "type": "arrow_function",
          "line_start": 62,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1165,
          "ai_signals": []
        },
        {
          "name": "fonts",
          "type": "arrow_function",
          "line_start": 65,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1165,
          "ai_signals": []
        },
        {
          "name": "radius",
          "type": "arrow_function",
          "line_start": 73,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1165,
          "ai_signals": []
        },
        {
          "name": "chartColors",
          "type": "arrow_function",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 2,
            "parameter_count": 2,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1165,
          "ai_signals": []
        },
        {
          "name": "applyBias",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 3,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1165,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 8.4,
        "function_length_stddev": 3.51,
        "import_count": 2,
        "export_count": 5,
        "comment_lines": 11,
        "code_lines": 98,
        "comment_ratio": 0.1009,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5825,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\docs\\changelog\\page.tsx",
      "language": "tsx",
      "line_count": 145,
      "token_estimate": 1385,
      "functions": [
        {
          "name": "generateMetadata",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0078,
          "ai_signals": []
        },
        {
          "name": "ChangelogPage",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 110,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 35,
              "description": "Function is 110 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 110 lines (> 37 dynamic threshold)",
                "impact": "Function ChangelogPage is 110 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 75,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 66,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 87,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 117,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 66,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 87,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 117,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2624,
          "ai_signals": [
            "High anti-pattern density (0.73)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 65.5,
        "function_length_stddev": 62.93,
        "import_count": 7,
        "export_count": 4,
        "comment_lines": 0,
        "code_lines": 145,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.85,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.055172,
        "structural_uniformity": 0.0392,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.71,
        "mechanical": 68.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\dashboard\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 213,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.29,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.9,
        "mechanical": 94.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\playground\\components\\maxlength-selector.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 434,
      "functions": [
        {
          "name": "MaxLengthSelector",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 21,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0946,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017544,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.51,
        "mechanical": 87.51,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\playground\\data\\models.ts",
      "language": "typescript",
      "line_count": 63,
      "token_estimate": 542,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 4,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\empty-avatar-group.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 509,
      "functions": [
        {
          "name": "EmptyAvatarGroup",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 37,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function EmptyAvatarGroup is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 39,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 39,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 48,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 53,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 60,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.47,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.075949,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 70.16,
        "mechanical": 70.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\item-demo.tsx",
      "language": "tsx",
      "line_count": 65,
      "token_estimate": 432,
      "functions": [
        {
          "name": "ItemDemo",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 35,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 35,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 65,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.66,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.030769,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.46,
        "mechanical": 84.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\tasks\\components\\data-table-pagination.tsx",
      "language": "tsx",
      "line_count": 102,
      "token_estimate": 816,
      "functions": [
        {
          "name": "DataTablePagination",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 80,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 80 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 80 lines (> 37 dynamic threshold)",
                "impact": "Function DataTablePagination is 80 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 41,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0875,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 80,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 102,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.019608,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.1,
        "mechanical": 80.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\tasks\\data\\seed.ts",
      "language": "typescript",
      "line_count": 21,
      "token_estimate": 157,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 0,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.18,
        "debug_artifacts": [
          "console.log line 20"
        ],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.0,
        "mechanical": 98.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(create)\\init\\parse-config.ts",
      "language": "typescript",
      "line_count": 53,
      "token_estimate": 466,
      "functions": [
        {
          "name": "parseDesignSystemConfig",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 10,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 43 lines (> 30 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 30 dynamic threshold)",
                "impact": "Function parseDesignSystemConfig is 43 lines \u2014 exceeds 30 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 51,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 51,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2442,
          "ai_signals": [
            "High anti-pattern density (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 52,
        "comment_ratio": 0.0189,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.12,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.057692,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 47.18,
        "mechanical": 47.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\api\\search\\route.ts",
      "language": "typescript",
      "line_count": 6,
      "token_estimate": 37,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\block-image.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 205,
      "functions": [
        {
          "name": "BlockImage",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 26,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 18,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 26,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 19,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 27,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.23,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.162162,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.4,
        "mechanical": 68.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\create-account.tsx",
      "language": "tsx",
      "line_count": 73,
      "token_estimate": 1111,
      "functions": [
        {
          "name": "CardsCreateAccount",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function CardsCreateAccount is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0648,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 54,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 73,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.72,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013699,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.38,
        "mechanical": 83.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\stats.tsx",
      "language": "tsx",
      "line_count": 133,
      "token_estimate": 775,
      "functions": [
        {
          "name": "CardsStats",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 65,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function CardsStats is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0515,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 68,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 133,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.7,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007519,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.12,
        "mechanical": 83.12,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\code-block-command.tsx",
      "language": "tsx",
      "line_count": 129,
      "token_estimate": 887,
      "functions": [
        {
          "name": "CodeBlockCommand",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 108,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 108 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 108 lines (> 37 dynamic threshold)",
                "impact": "Function CodeBlockCommand is 108 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 77,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 77,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 33,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 35,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 52,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1944,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 15,
              "description": "Unused import: import {\n  Tooltip,\n  TooltipContent,\n  TooltipTrigger,\n} from \"@/registry/new-york-v4/ui/tooltip\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Tooltip' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Tooltip,\n  TooltipContent,\n  TooltipTrigger,\n} from \"@/registry/new-york-v4/ui/tooltip\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 15,
              "description": "Unused import: import {\n  Tooltip,\n  TooltipContent,\n  TooltipTrigger,\n} from \"@/registry/new-york-v4/ui/tooltip\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'TooltipContent' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Tooltip,\n  TooltipContent,\n  TooltipTrigger,\n} from \"@/registry/new-york-v4/ui/tooltip\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 15,
              "description": "Unused import: import {\n  Tooltip,\n  TooltipContent,\n  TooltipTrigger,\n} from \"@/registry/new-york-v4/ui/tooltip\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'TooltipTrigger' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Tooltip,\n  TooltipContent,\n  TooltipTrigger,\n} from \"@/registry/new-york-v4/ui/tooltip\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 108,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 129,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.72,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.046512,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 3
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 70.87,
        "mechanical": 70.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\component-preview-tabs.tsx",
      "language": "tsx",
      "line_count": 268,
      "token_estimate": 2078,
      "functions": [
        {
          "name": "ComponentPreviewTabs",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 177,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ComponentPreviewTabs is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 128,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 49,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 48,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0915,
          "ai_signals": []
        },
        {
          "name": "RtlLanguageSelector",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 206,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 200,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        },
        {
          "name": "PreviewWrapper",
          "type": "function_declaration",
          "line_start": 208,
          "line_end": 244,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DirectionProviderWrapper",
          "type": "function_declaration",
          "line_start": 246,
          "line_end": 267,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 56.25,
        "function_length_stddev": 65.26,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 6,
        "code_lines": 262,
        "comment_ratio": 0.0224,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.22,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.019084,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.23,
        "mechanical": 74.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\docs-base-switcher.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 323,
      "functions": [
        {
          "name": "DocsBaseSwitcher",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 29,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 29,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2059,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 32,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.04,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.05,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.05,
        "mechanical": 79.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\icons.tsx",
      "language": "tsx",
      "line_count": 208,
      "token_estimate": 5245,
      "functions": [
        {
          "name": "logo",
          "type": "arrow_function",
          "line_start": 6,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "twitter",
          "type": "arrow_function",
          "line_start": 33,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "gitHub",
          "type": "arrow_function",
          "line_start": 44,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "radix",
          "type": "arrow_function",
          "line_start": 52,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "aria",
          "type": "arrow_function",
          "line_start": 65,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "npm",
          "type": "arrow_function",
          "line_start": 70,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "yarn",
          "type": "arrow_function",
          "line_start": 78,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "pnpm",
          "type": "arrow_function",
          "line_start": 86,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "react",
          "type": "arrow_function",
          "line_start": 94,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "tailwind",
          "type": "arrow_function",
          "line_start": 102,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "google",
          "type": "arrow_function",
          "line_start": 110,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "apple",
          "type": "arrow_function",
          "line_start": 118,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "paypal",
          "type": "arrow_function",
          "line_start": 126,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "spinner",
          "type": "arrow_function",
          "line_start": 134,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "json",
          "type": "arrow_function",
          "line_start": 150,
          "line_end": 157,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "ts",
          "type": "arrow_function",
          "line_start": 158,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "css",
          "type": "arrow_function",
          "line_start": 163,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "bash",
          "type": "arrow_function",
          "line_start": 168,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "v0",
          "type": "arrow_function",
          "line_start": 173,
          "line_end": 189,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        },
        {
          "name": "getIconForLanguageExtension",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 207,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0914,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 20,
        "avg_function_length": 10,
        "function_length_stddev": 5.43,
        "import_count": 1,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 208,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4571,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.97,
        "mechanical": 98.97,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\open-in-v0-cta.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 291,
      "functions": [
        {
          "name": "OpenInV0Cta",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\theme-customizer.tsx",
      "language": "tsx",
      "line_count": 752,
      "token_estimate": 7151,
      "functions": [
        {
          "name": "ThemeCustomizer",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function ThemeCustomizer is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0614,
          "ai_signals": []
        },
        {
          "name": "CopyCodeButton",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 164,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 114,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function CopyCodeButton is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 136,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 159,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 122,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2745,
          "ai_signals": [
            "High anti-pattern density (0.78)"
          ]
        },
        {
          "name": "CustomizerCode",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 630,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 465,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 166,
              "description": "Function is 465 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 465 lines (> 37 dynamic threshold)",
                "impact": "Function CustomizerCode is 465 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 248,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 267,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 330,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 351,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 405,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 412,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 429,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 445,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 463,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 470,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 477,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 490,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 518,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 525,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 542,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 558,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 576,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 583,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 590,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 600,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 174,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 432,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 438,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 448,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 454,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 493,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 499,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 545,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 551,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 561,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 567,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 603,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 609,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 174,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 432,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 438,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 448,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 454,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 493,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 499,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 545,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 551,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 561,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 567,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 603,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 609,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 187,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 242,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 261,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 343,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 406,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 408,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 413,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 415,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 431,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 437,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 447,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 453,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 464,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 466,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 471,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 473,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 478,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 480,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 492,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 498,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 519,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 521,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 526,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 528,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 544,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 550,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 560,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 566,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 577,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 579,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 584,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 586,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 591,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 593,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 602,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 608,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 167,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 168,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 178,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ColorIndicator",
          "type": "function_declaration",
          "line_start": 632,
          "line_end": 639,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getThemeCodeOKLCH",
          "type": "function_declaration",
          "line_start": 641,
          "line_end": 660,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getThemeCode",
          "type": "function_declaration",
          "line_start": 662,
          "line_end": 671,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "getThemeCodeHSLV4",
          "type": "function_declaration",
          "line_start": 673,
          "line_end": 692,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 90.14,
        "function_length_stddev": 166.41,
        "import_count": 16,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 752,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.26,
        "debug_artifacts": [],
        "ai_smell_count": 92,
        "ai_smell_density": 0.12234,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 55.14,
        "mechanical": 55.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\accordion-demo.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 307,
      "functions": [
        {
          "name": "AccordionDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.24,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.9,
        "mechanical": 94.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\alert-destructive.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 123,
      "functions": [
        {
          "name": "AlertDestructive",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\alert-rtl.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 537,
      "functions": [
        {
          "name": "AlertRtl",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.68,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\avatar-demo.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 352,
      "functions": [
        {
          "name": "AvatarDemo",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarDemo is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 15,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 23,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 31,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 36,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 43,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.113208,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 65.1,
        "mechanical": 65.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\badge-demo.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 91,
      "functions": [
        {
          "name": "BadgeDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\breadcrumb-dropdown.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 403,
      "functions": [
        {
          "name": "BreadcrumbDropdown",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 33,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 25,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2055,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.98,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.035088,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.13,
        "mechanical": 83.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-ghost.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 36,
      "functions": [
        {
          "name": "ButtonGhost",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-group-rtl.tsx",
      "language": "tsx",
      "line_count": 187,
      "token_estimate": 1337,
      "functions": [
        {
          "name": "ButtonGroupRtl",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 100,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 87,
              "description": "Function is 100 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 100 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupRtl is 100 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 89,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.07,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 100,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 187,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.05,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.010695,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.83,
        "mechanical": 74.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-render.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 63,
      "functions": [
        {
          "name": "ButtonRender",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.13,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\calendar-booked-dates.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 227,
      "functions": [
        {
          "name": "CalendarBookedDates",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\calendar-rtl.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 239,
      "functions": [
        {
          "name": "CalendarRtl",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 45,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 45,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.28,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.04,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.1,
        "mechanical": 85.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\carousel-demo.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 222,
      "functions": [
        {
          "name": "CarouselDemo",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\chart-example-axis.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 310,
      "functions": [
        {
          "name": "ChartBarDemoAxis",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 31,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1944,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.04,
        "mechanical": 92.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\checkbox-demo.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 412,
      "functions": [
        {
          "name": "CheckboxDemo",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxDemo is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0875,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.5,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.018519,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.37,
        "mechanical": 86.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\collapsible-demo.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 402,
      "functions": [
        {
          "name": "CollapsibleDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 14,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.68,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.29,
        "mechanical": 87.29,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\combobox-demo.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 177,
      "functions": [
        {
          "name": "ComboboxBasic",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.42,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\command-basic.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 262,
      "functions": [
        {
          "name": "CommandBasic",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.66,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.025,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.55,
        "mechanical": 89.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\context-menu-checkboxes.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 264,
      "functions": [
        {
          "name": "ContextMenuCheckboxes",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\context-menu-sides.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 799,
      "functions": [
        {
          "name": "ContextMenuSides",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 74,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 9,
              "description": "Function is 74 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 74 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuSides is 74 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0473,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 74,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.94,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012048,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.99,
        "mechanical": 81.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\date-picker-input.tsx",
      "language": "tsx",
      "line_count": 109,
      "token_estimate": 712,
      "functions": [
        {
          "name": "formatDate",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "isValidDate",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 6,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DatePickerInput",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 70,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 70 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 70 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerInput is 70 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 40,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 45,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.15,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 29,
        "function_length_stddev": 35.59,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 109,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.027523,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.75,
        "mechanical": 83.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dialog-rtl.tsx",
      "language": "tsx",
      "line_count": 102,
      "token_estimate": 688,
      "functions": [
        {
          "name": "DialogRtl",
          "type": "function_declaration",
          "line_start": 63,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 63,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function DialogRtl is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 102,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009804,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.6,
        "mechanical": 87.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dropdown-menu-avatar.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 355,
      "functions": [
        {
          "name": "DropdownMenuAvatar",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 32,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.76,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.33,
        "mechanical": 88.33,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dropdown-menu-radio-group.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 281,
      "functions": [
        {
          "name": "DropdownMenuRadioGroupDemo",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1848,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.027027,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.94,
        "mechanical": 89.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\empty-card.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 286,
      "functions": [
        {
          "name": "EmptyInCard",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.21,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\field-fieldset.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 261,
      "functions": [
        {
          "name": "FieldFieldset",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\field-switch.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 85,
      "functions": [
        {
          "name": "FieldSwitch",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-button-group.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 136,
      "functions": [
        {
          "name": "InputButtonGroup",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-basic.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 334,
      "functions": [
        {
          "name": "InputGroupBasic",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 5,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupBasic is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0921,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.39,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.023256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.79,
        "mechanical": 85.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-icon.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 294,
      "functions": [
        {
          "name": "InputGroupIcon",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-text.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 361,
      "functions": [
        {
          "name": "InputGroupTextExample",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 9,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupTextExample is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0921,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.4,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.021277,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.28,
        "mechanical": 86.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-inline.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 85,
      "functions": [
        {
          "name": "InputInline",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-otp-four-digits.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 118,
      "functions": [
        {
          "name": "InputOTPFourDigits",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 15,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 16,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.69,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.173913,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.4,
        "mechanical": 74.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\item-demo.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 278,
      "functions": [
        {
          "name": "ItemDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\item-size.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 302,
      "functions": [
        {
          "name": "ItemSizeDemo",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\label-demo.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 76,
      "functions": [
        {
          "name": "LabelDemo",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.54,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\muted-item-group.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 315,
      "functions": [
        {
          "name": "MutedItemGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function MutedItemGroup is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.46,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.3,
        "mechanical": 86.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\outline-item-group.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 272,
      "functions": [
        {
          "name": "OutlineItemGroup",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\popover-form.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 344,
      "functions": [
        {
          "name": "PopoverForm",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 15,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1061,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.04,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.021739,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.67,
        "mechanical": 87.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\radio-group-demo.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 185,
      "functions": [
        {
          "name": "RadioGroupDemo",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.51,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\resizable-rtl.tsx",
      "language": "tsx",
      "line_count": 75,
      "token_estimate": 444,
      "functions": [
        {
          "name": "ResizableRtl",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 75,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\select-groups.tsx",
      "language": "tsx",
      "line_count": 55,
      "token_estimate": 340,
      "functions": [
        {
          "name": "SelectGroups",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function SelectGroups is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0814,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 55,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.018182,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.55,
        "mechanical": 85.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\separator-vertical.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 84,
      "functions": [
        {
          "name": "SeparatorVertical",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-group-action.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 480,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0745,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.5,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015152,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.11,
        "mechanical": 85.11,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-menu.tsx",
      "language": "tsx",
      "line_count": 76,
      "token_estimate": 370,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 62,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 76,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.52,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013158,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.21,
        "mechanical": 92.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\skeleton-table.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 110,
      "functions": [
        {
          "name": "SkeletonTable",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.55,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\slider-vertical.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 121,
      "functions": [
        {
          "name": "SliderVertical",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 6,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 13,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.34,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.086957,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.26,
        "mechanical": 75.26,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\spinner-demo.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 164,
      "functions": [
        {
          "name": "SpinnerDemo",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.28,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\switch-disabled.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 96,
      "functions": [
        {
          "name": "SwitchDisabled",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\tabs-demo.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 665,
      "functions": [
        {
          "name": "TabsDemo",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function TabsDemo is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0515,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 68,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.48,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012048,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.99,
        "mechanical": 81.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\textarea-disabled.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 100,
      "functions": [
        {
          "name": "TextareaDisabled",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-group-font-weight-selector.tsx",
      "language": "tsx",
      "line_count": 70,
      "token_estimate": 550,
      "functions": [
        {
          "name": "ToggleGroupFontWeightSelector",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleGroupFontWeightSelector is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 16,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1273,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 55,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 70,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.39,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.028571,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.36,
        "mechanical": 79.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-sizes.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 119,
      "functions": [
        {
          "name": "ToggleSizes",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.42,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-demo.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 1377,
      "functions": [
        {
          "name": "TypographyDemo",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function TypographyDemo is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-table-missing-caption",
              "severity": "medium",
              "line": 69,
              "description": "Data table without caption or aria-label - screen reader users cannot understand the table's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0588,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.17,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.016667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.83,
        "mechanical": 80.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-list.tsx",
      "language": "tsx",
      "line_count": 10,
      "token_estimate": 66,
      "functions": [
        {
          "name": "TypographyList",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 10,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\accordion-card.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 478,
      "functions": [
        {
          "name": "AccordionCard",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.1,
        "mechanical": 96.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\alert-demo.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 203,
      "functions": [
        {
          "name": "AlertDemo",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.95,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\alert-dialog-small.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 258,
      "functions": [
        {
          "name": "AlertDialogSmall",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0117,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\avatar-basic.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 85,
      "functions": [
        {
          "name": "AvatarDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 11,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2917,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.22,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.052632,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.24,
        "mechanical": 86.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\badge-colors.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 185,
      "functions": [
        {
          "name": "BadgeCustomColors",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 4.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\breadcrumb-demo.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 442,
      "functions": [
        {
          "name": "BreadcrumbDemo",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function BreadcrumbDemo is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 27,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 51,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2661,
          "ai_signals": [
            "High anti-pattern density (0.73)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.6,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.048387,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.6,
        "mechanical": 78.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-demo.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 97,
      "functions": [
        {
          "name": "ButtonDemo",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-group-orientation.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 134,
      "functions": [
        {
          "name": "ButtonGroupOrientation",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-link.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 35,
      "functions": [
        {
          "name": "ButtonLink",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\calendar-basic.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 46,
      "functions": [
        {
          "name": "CalendarBasic",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.64,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\calendar-range.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 226,
      "functions": [
        {
          "name": "CalendarRange",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 21,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1522,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.68,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.030303,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.52,
        "mechanical": 88.52,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\carousel-api.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 373,
      "functions": [
        {
          "name": "CarouselDApiDemo",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function CarouselDApiDemo is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 20,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3415,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.071429,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.84,
        "mechanical": 72.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\chart-demo.tsx",
      "language": "tsx",
      "line_count": 161,
      "token_estimate": 1344,
      "functions": [
        {
          "name": "ChartDemo",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 92,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 69,
              "description": "Function is 92 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 92 lines (> 37 dynamic threshold)",
                "impact": "Function ChartDemo is 92 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 124,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 139,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 92,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 104,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 92,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 104,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3043,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 92,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 161,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.049689,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.58,
        "mechanical": 72.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\checkbox-basic.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 122,
      "functions": [
        {
          "name": "CheckboxBasic",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.92,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\collapsible-basic.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 282,
      "functions": [
        {
          "name": "CollapsibleBasic",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.1,
        "mechanical": 96.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\combobox-custom.tsx",
      "language": "tsx",
      "line_count": 100,
      "token_estimate": 734,
      "functions": [
        {
          "name": "ComboboxWithCustomItems",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 100,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\combobox-rtl.tsx",
      "language": "tsx",
      "line_count": 134,
      "token_estimate": 793,
      "functions": [
        {
          "name": "ComboboxRtl",
          "type": "function_declaration",
          "line_start": 77,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 77,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxRtl is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 111,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1228,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 134,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.97,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.92,
        "mechanical": 80.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\context-menu-basic.tsx",
      "language": "tsx",
      "line_count": 30,
      "token_estimate": 223,
      "functions": [
        {
          "name": "ContextMenuBasic",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 30,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.55,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\context-menu-shortcuts.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 387,
      "functions": [
        {
          "name": "ContextMenuShortcuts",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuShortcuts is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0944,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.54,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.019231,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.89,
        "mechanical": 85.89,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\date-picker-dob.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 328,
      "functions": [
        {
          "name": "DatePickerSimple",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 15,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1061,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.021277,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.28,
        "mechanical": 85.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dialog-no-close-button.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 180,
      "functions": [
        {
          "name": "DialogNoCloseButton",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\drawer-sides.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 581,
      "functions": [
        {
          "name": "DrawerWithSides",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerWithSides is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 22,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 22,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2059,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 51,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.65,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.045455,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.34,
        "mechanical": 76.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dropdown-menu-icons.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 256,
      "functions": [
        {
          "name": "DropdownMenuIcons",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0152,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\empty-background.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 216,
      "functions": [
        {
          "name": "EmptyMuted",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\field-demo.tsx",
      "language": "tsx",
      "line_count": 157,
      "token_estimate": 1424,
      "functions": [
        {
          "name": "FieldDemo",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 134,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 134 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 134 lines (> 37 dynamic threshold)",
                "impact": "Function FieldDemo is 134 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0261,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 134,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 157,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.46,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006369,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.41,
        "mechanical": 83.41,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\field-slider.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 216,
      "functions": [
        {
          "name": "FieldSlider",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 25,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 25,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 13,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.114286,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.1,
        "mechanical": 71.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-basic.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 32,
      "functions": [
        {
          "name": "InputBasic",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-grid.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 135,
      "functions": [
        {
          "name": "InputGrid",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.02,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-dropdown.tsx",
      "language": "tsx",
      "line_count": 65,
      "token_estimate": 551,
      "functions": [
        {
          "name": "InputGroupDropdown",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupDropdown is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0751,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 48,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 65,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.13,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015385,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.75,
        "mechanical": 84.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-spinner.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 335,
      "functions": [
        {
          "name": "InputGroupSpinner",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-with-tooltip.tsx",
      "language": "tsx",
      "line_count": 162,
      "token_estimate": 1242,
      "functions": [
        {
          "name": "InputGroupWithTooltip",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 118,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 44,
              "description": "Function is 118 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 118 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupWithTooltip is 118 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0297,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 6,
              "description": "Unused import: import { Button } from \"@/styles/radix-nova/ui/button\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Button' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Button } from \"@/styles/radix-nova/ui/button\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 23,
              "description": "Unused import: import { Input } from \"@/styles/radix-nova/ui/input\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Input' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Input } from \"@/styles/radix-nova/ui/input\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 118,
        "function_length_stddev": 0.0,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 162,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.01,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006173,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 2
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.46,
        "mechanical": 83.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-otp-form.tsx",
      "language": "tsx",
      "line_count": 82,
      "token_estimate": 637,
      "functions": [
        {
          "name": "InputOTPForm",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function InputOTPForm is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 47,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 48,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 49,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 82,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.8,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.085366,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 64.26,
        "mechanical": 64.26,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\item-avatar.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 589,
      "functions": [
        {
          "name": "ItemAvatar",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function ItemAvatar is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 24,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 47,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 52,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 59,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2778,
          "ai_signals": [
            "High anti-pattern density (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.77,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.061728,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 69.57,
        "mechanical": 69.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\item-rtl.tsx",
      "language": "tsx",
      "line_count": 82,
      "token_estimate": 499,
      "functions": [
        {
          "name": "ItemRtl",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 82,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\kbd-tooltip.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 254,
      "functions": [
        {
          "name": "KbdTooltip",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\menubar-submenu.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 443,
      "functions": [
        {
          "name": "MenubarSubmenu",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarSubmenu is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0875,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.78,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016393,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.8,
        "mechanical": 84.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\navigation-menu-rtl.tsx",
      "language": "tsx",
      "line_count": 236,
      "token_estimate": 1941,
      "functions": [
        {
          "name": "NavigationMenuRtl",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 159,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function NavigationMenuRtl is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 209,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1814,
          "ai_signals": []
        },
        {
          "name": "ListItem",
          "type": "function_declaration",
          "line_start": 217,
          "line_end": 235,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 226,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2428,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 38,
        "function_length_stddev": 26.87,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 236,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.14,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.012712,
        "structural_uniformity": 0.2929,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.67,
        "mechanical": 84.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\popover-demo.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 505,
      "functions": [
        {
          "name": "PopoverDemo",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function PopoverDemo is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.066,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015873,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.13,
        "mechanical": 83.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\radio-group-choice-card.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 362,
      "functions": [
        {
          "name": "RadioGroupChoiceCard",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.9,
        "mechanical": 91.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\resizable-handle.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 198,
      "functions": [
        {
          "name": "ResizableHandleDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\select-disabled.tsx",
      "language": "tsx",
      "line_count": 30,
      "token_estimate": 192,
      "functions": [
        {
          "name": "SelectDisabled",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 30,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\separator-rtl.tsx",
      "language": "tsx",
      "line_count": 55,
      "token_estimate": 344,
      "functions": [
        {
          "name": "SeparatorRtl",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 55,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.02,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-footer.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 466,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0814,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.46,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.37,
        "mechanical": 86.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-menu-sub.tsx",
      "language": "tsx",
      "line_count": 181,
      "token_estimate": 869,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 156,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 164,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1944,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 181,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.01105,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.44,
        "mechanical": 89.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\skeleton-rtl.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 184,
      "functions": [
        {
          "name": "SkeletonRtl",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.39,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\slider-rtl.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 151,
      "functions": [
        {
          "name": "SliderRtl",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 30,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.25,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.025641,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.69,
        "mechanical": 92.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\spinner-custom.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 109,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1501,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "SpinnerCustom",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1501,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 8.5,
        "function_length_stddev": 2.12,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7504,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\switch-description.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 152,
      "functions": [
        {
          "name": "SwitchDescription",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\table-rtl.tsx",
      "language": "tsx",
      "line_count": 152,
      "token_estimate": 898,
      "functions": [
        {
          "name": "TableRtl",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 151,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 152,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\textarea-demo.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 40,
      "functions": [
        {
          "name": "TextareaDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-group-disabled.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 151,
      "functions": [
        {
          "name": "ToggleGroupDisabled",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-rtl.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 199,
      "functions": [
        {
          "name": "ToggleRtl",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.42,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-blockquote.tsx",
      "language": "tsx",
      "line_count": 9,
      "token_estimate": 70,
      "functions": [
        {
          "name": "TypographyBlockquote",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 8,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 9,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.85,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-lead.tsx",
      "language": "tsx",
      "line_count": 9,
      "token_estimate": 52,
      "functions": [
        {
          "name": "TypographyLead",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 8,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 9,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\hooks\\use-config.ts",
      "language": "typescript",
      "line_count": 19,
      "token_estimate": 101,
      "functions": [
        {
          "name": "useConfig",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\hooks\\use-search-registry.ts",
      "language": "typescript",
      "line_count": 40,
      "token_estimate": 249,
      "functions": [
        {
          "name": "normalizeQuery",
          "type": "arrow_function",
          "line_start": 5,
          "line_end": 6,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 2,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0703,
          "ai_signals": []
        },
        {
          "name": "finderFn",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0703,
          "ai_signals": []
        },
        {
          "name": "searchDirectory",
          "type": "arrow_function",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0703,
          "ai_signals": []
        },
        {
          "name": "useSearchRegistry",
          "type": "arrow_function",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0703,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 8,
        "function_length_stddev": 5.35,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3307,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.0,
        "mechanical": 98.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\events.ts",
      "language": "typescript",
      "line_count": 39,
      "token_estimate": 232,
      "functions": [
        {
          "name": "trackEvent",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 6,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.006,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 6,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 38,
        "comment_ratio": 0.0256,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.5,
        "mechanical": 94.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\read-file.ts",
      "language": "typescript",
      "line_count": 8,
      "token_estimate": 58,
      "functions": [
        {
          "name": "readFileFromRoot",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 4,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\postcss.config.mjs",
      "language": "javascript",
      "line_count": 7,
      "token_estimate": 22,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 7,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.4,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\__index__.tsx",
      "language": "tsx",
      "line_count": 9784,
      "token_estimate": 75945,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 3,
        "code_lines": 9781,
        "comment_ratio": 0.0003,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.92,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\dashboard-01\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1100,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 110,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 110 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 110 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 110 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 45,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0955,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 110,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.75,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.19,
        "mechanical": 78.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\login-03\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 96,
      "token_estimate": 997,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0455,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 77,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 96,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010417,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.4,
        "mechanical": 82.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\card-overview.tsx",
      "language": "tsx",
      "line_count": 100,
      "token_estimate": 742,
      "functions": [
        {
          "name": "CardOverview",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function CardOverview is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 84,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1207,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 100,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.57,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.02,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.6,
        "mechanical": 80.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\empty-explore-catalog.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 294,
      "functions": [
        {
          "name": "EmptyExploreCatalog",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.29,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\payments.tsx",
      "language": "tsx",
      "line_count": 177,
      "token_estimate": 1510,
      "functions": [
        {
          "name": "Payments",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 176,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 147,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 30,
              "description": "Function is 147 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 147 lines (> 37 dynamic threshold)",
                "impact": "Function Payments is 147 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0238,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 147,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 177,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.2,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.00565,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.59,
        "mechanical": 83.59,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\roller-shades.tsx",
      "language": "tsx",
      "line_count": 82,
      "token_estimate": 580,
      "functions": [
        {
          "name": "RollerShades",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function RollerShades is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 42,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 20,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 23,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2222,
          "ai_signals": [
            "High anti-pattern density (0.63)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 82,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.04878,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.81,
        "mechanical": 67.81,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\upcoming-payments.tsx",
      "language": "tsx",
      "line_count": 70,
      "token_estimate": 497,
      "functions": [
        {
          "name": "UpcomingPayments",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function UpcomingPayments is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0745,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 14,
              "description": "Unused import: import {\n  Item,\n  ItemContent,\n  ItemDescription,\n  ItemGroup,\n  ItemMedia,\n  ItemTitle,\n} from \"@/registry/bases/base/ui/item\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'ItemMedia' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Item,\n  ItemContent,\n  ItemDescription,\n  ItemGroup,\n  ItemMedia,\n  ItemTitle,\n} from \"@/registry/bases/base/ui/item\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 70,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014286,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.33,
        "mechanical": 85.33,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\book-appointment.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 404,
      "functions": [
        {
          "name": "BookAppointment",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 22,
              "description": "Unused import: import { IconPlaceholder } from \"@/app/(create)/components/icon-placeholder\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'IconPlaceholder' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { IconPlaceholder } from \"@/app/(create)/components/icon-placeholder\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\icon-preview-grid.tsx",
      "language": "tsx",
      "line_count": 147,
      "token_estimate": 884,
      "functions": [
        {
          "name": "IconPreviewGrid",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 133,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 147,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.96,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006803,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.1,
        "mechanical": 94.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\report-bug.tsx",
      "language": "tsx",
      "line_count": 109,
      "token_estimate": 915,
      "functions": [
        {
          "name": "ReportBug",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 85,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 85 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 85 lines (> 37 dynamic threshold)",
                "impact": "Function ReportBug is 85 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0412,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 85,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 109,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009174,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.71,
        "mechanical": 82.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\usage-card.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 791,
      "functions": [
        {
          "name": "CircularGauge",
          "type": "function_declaration",
          "line_start": 53,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 53,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function CircularGauge is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2377,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.81)"
          ]
        },
        {
          "name": "UsageCard",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 118,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2616,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.81)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 40.5,
        "function_length_stddev": 7.78,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 2,
        "code_lines": 133,
        "comment_ratio": 0.0148,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.015038,
        "structural_uniformity": 0.8079,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.09,
        "mechanical": 87.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-02\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 225,
      "token_estimate": 1304,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 167,
          "line_end": 224,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 167,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 208,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.181,
          "ai_signals": [
            "High anti-pattern density (0.52)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 224,
        "comment_ratio": 0.0044,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.32,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.013393,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.25,
        "mechanical": 82.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-05\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 247,
      "token_estimate": 1540,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 166,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 228,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 221,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1296,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 81,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 246,
        "comment_ratio": 0.004,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.37,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.012195,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.95,
        "mechanical": 81.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-07\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 76,
      "token_estimate": 519,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 63,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.25,
          "ai_signals": [
            "High anti-pattern density (0.71)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 56,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 76,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.94,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.052632,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.04,
        "mechanical": 73.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-08\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 214,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 29,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1296,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.19,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.025,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.65,
        "mechanical": 88.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-10\\components\\nav-favorites.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1140,
      "functions": [
        {
          "name": "NavFavorites",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 113,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 113 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 113 lines (> 37 dynamic threshold)",
                "impact": "Function NavFavorites is 113 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 38,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0619,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 113,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.49,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014815,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.3,
        "mechanical": 81.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-12\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 75,
      "token_estimate": 485,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 48,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2258,
          "ai_signals": [
            "High anti-pattern density (0.65)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 74,
        "comment_ratio": 0.0133,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.89,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.027027,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.94,
        "mechanical": 86.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-14\\page.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 403,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-15\\components\\sidebar-left.tsx",
      "language": "tsx",
      "line_count": 363,
      "token_estimate": 1982,
      "functions": [
        {
          "name": "SidebarLeft",
          "type": "function_declaration",
          "line_start": 345,
          "line_end": 362,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 351,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 352,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 355,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 356,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 357,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 362,
        "comment_ratio": 0.0028,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.15,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.013812,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.15,
        "mechanical": 94.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-16\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 149,
      "token_estimate": 1200,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 148,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 124,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 124 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 124 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 124 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 48,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0847,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 124,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 149,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.04,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.020134,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.72,
        "mechanical": 78.72,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\signup-03\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 662,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0556,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012346,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.91,
        "mechanical": 81.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\_registry.ts",
      "language": "typescript",
      "line_count": 909,
      "token_estimate": 4656,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 909,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.68,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\button-example.tsx",
      "language": "tsx",
      "line_count": 1003,
      "token_estimate": 7992,
      "functions": [
        {
          "name": "ButtonExample",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0352,
          "ai_signals": []
        },
        {
          "name": "ButtonVariantsAndSizes",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonVariantsAndSizes is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0867,
          "ai_signals": []
        },
        {
          "name": "ButtonIconRight",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 368,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 277,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 92,
              "description": "Function is 277 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 277 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonIconRight is 277 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0478,
          "ai_signals": []
        },
        {
          "name": "ButtonIconLeft",
          "type": "function_declaration",
          "line_start": 370,
          "line_end": 647,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 278,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 370,
              "description": "Function is 278 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 278 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonIconLeft is 278 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0478,
          "ai_signals": []
        },
        {
          "name": "ButtonIconOnly",
          "type": "function_declaration",
          "line_start": 649,
          "line_end": 878,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 230,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 649,
              "description": "Function is 230 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 230 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonIconOnly is 230 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0504,
          "ai_signals": []
        },
        {
          "name": "ButtonExamples",
          "type": "function_declaration",
          "line_start": 880,
          "line_end": 917,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 880,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonExamples is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "ButtonInvalidStates",
          "type": "function_declaration",
          "line_start": 919,
          "line_end": 1002,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 84,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 919,
              "description": "Function is 84 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 84 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonInvalidStates is 84 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0768,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 141,
        "function_length_stddev": 116.2,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 1003,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.39,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.005982,
        "structural_uniformity": 0.1759,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.5,
        "mechanical": 83.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\combobox-example.tsx",
      "language": "tsx",
      "line_count": 1322,
      "token_estimate": 10154,
      "functions": [
        {
          "name": "ComboboxExample",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1068,
          "ai_signals": []
        },
        {
          "name": "ComboboxBasic",
          "type": "function_declaration",
          "line_start": 550,
          "line_end": 568,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1068,
          "ai_signals": []
        },
        {
          "name": "ComboboxSides",
          "type": "function_declaration",
          "line_start": 570,
          "line_end": 604,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 585,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2068,
          "ai_signals": []
        },
        {
          "name": "ComboboxDisabled",
          "type": "function_declaration",
          "line_start": 606,
          "line_end": 624,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1068,
          "ai_signals": []
        },
        {
          "name": "ComboboxDisabledItems",
          "type": "function_declaration",
          "line_start": 628,
          "line_end": 650,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1068,
          "ai_signals": []
        },
        {
          "name": "ComboboxInvalid",
          "type": "function_declaration",
          "line_start": 652,
          "line_end": 696,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 652,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxInvalid is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 691,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2624,
          "ai_signals": []
        },
        {
          "name": "ComboboxWithClear",
          "type": "function_declaration",
          "line_start": 698,
          "line_end": 716,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1068,
          "ai_signals": []
        },
        {
          "name": "ComboboxWithGroups",
          "type": "function_declaration",
          "line_start": 718,
          "line_end": 743,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1068,
          "ai_signals": []
        },
        {
          "name": "ComboboxWithGroupsAndSeparator",
          "type": "function_declaration",
          "line_start": 745,
          "line_end": 771,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1068,
          "ai_signals": []
        },
        {
          "name": "ComboboxWithForm",
          "type": "function_declaration",
          "line_start": 773,
          "line_end": 823,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 51,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 773,
              "description": "Function is 51 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 51 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxWithForm is 51 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 776,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 777,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 776,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 777,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4499,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ComboboxLargeList",
          "type": "function_declaration",
          "line_start": 827,
          "line_end": 845,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1068,
          "ai_signals": []
        },
        {
          "name": "ComboboxAutoHighlight",
          "type": "function_declaration",
          "line_start": 847,
          "line_end": 865,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1068,
          "ai_signals": []
        },
        {
          "name": "ComboxboxInputAddon",
          "type": "function_declaration",
          "line_start": 867,
          "line_end": 902,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1068,
          "ai_signals": []
        },
        {
          "name": "ComboboxInPopup",
          "type": "function_declaration",
          "line_start": 904,
          "line_end": 932,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 919,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2275,
          "ai_signals": []
        },
        {
          "name": "ComboboxMultiple",
          "type": "function_declaration",
          "line_start": 934,
          "line_end": 970,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1068,
          "ai_signals": []
        },
        {
          "name": "ComboboxMultipleDisabled",
          "type": "function_declaration",
          "line_start": 972,
          "line_end": 1009,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 972,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxMultipleDisabled is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1989,
          "ai_signals": []
        },
        {
          "name": "ComboboxMultipleInvalid",
          "type": "function_declaration",
          "line_start": 1011,
          "line_end": 1091,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1011,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxMultipleInvalid is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 1086,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1932,
          "ai_signals": []
        },
        {
          "name": "ComboboxMultipleNoRemove",
          "type": "function_declaration",
          "line_start": 1093,
          "line_end": 1131,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1093,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxMultipleNoRemove is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1965,
          "ai_signals": []
        },
        {
          "name": "ComboboxWithCustomItems",
          "type": "function_declaration",
          "line_start": 1133,
          "line_end": 1165,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1068,
          "ai_signals": []
        },
        {
          "name": "ComboboxInDialog",
          "type": "function_declaration",
          "line_start": 1167,
          "line_end": 1226,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1167,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxInDialog is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 1168,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2235,
          "ai_signals": []
        },
        {
          "name": "ComboboxWithOtherInputs",
          "type": "function_declaration",
          "line_start": 1263,
          "line_end": 1321,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 59,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1263,
              "description": "Function is 59 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 59 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxWithOtherInputs is 59 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1661,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 21,
        "avg_function_length": 35.24,
        "function_length_stddev": 16.42,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 1322,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.012103,
        "structural_uniformity": 0.534,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.4,
        "mechanical": 89.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\empty-example.tsx",
      "language": "tsx",
      "line_count": 264,
      "token_estimate": 1931,
      "functions": [
        {
          "name": "EmptyExample",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1367,
          "ai_signals": []
        },
        {
          "name": "EmptyBasic",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 35,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function EmptyBasic is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2288,
          "ai_signals": []
        },
        {
          "name": "EmptyWithMutedBackground",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1367,
          "ai_signals": []
        },
        {
          "name": "EmptyWithBorder",
          "type": "function_declaration",
          "line_start": 107,
          "line_end": 141,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1367,
          "ai_signals": []
        },
        {
          "name": "EmptyWithIcon",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 179,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1367,
          "ai_signals": []
        },
        {
          "name": "EmptyWithMutedBackgroundAlt",
          "type": "function_declaration",
          "line_start": 181,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1367,
          "ai_signals": []
        },
        {
          "name": "EmptyInCard",
          "type": "function_declaration",
          "line_start": 217,
          "line_end": 263,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 217,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function EmptyInCard is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2111,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 33.71,
        "function_length_stddev": 10.67,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 264,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.22,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.007576,
        "structural_uniformity": 0.6834,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.99,
        "mechanical": 90.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\label-example.tsx",
      "language": "tsx",
      "line_count": 65,
      "token_estimate": 410,
      "functions": [
        {
          "name": "LabelExample",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        },
        {
          "name": "LabelWithCheckbox",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        },
        {
          "name": "LabelWithInput",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        },
        {
          "name": "LabelDisabled",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        },
        {
          "name": "LabelWithTextarea",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.2,
          "ai_signals": [
            "Suspiciously uniform function lengths (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 65,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.93,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 1.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\resizable-example.tsx",
      "language": "tsx",
      "line_count": 159,
      "token_estimate": 1200,
      "functions": [
        {
          "name": "ResizableExample",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1368,
          "ai_signals": []
        },
        {
          "name": "ResizableHorizontal",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1368,
          "ai_signals": []
        },
        {
          "name": "ResizableVertical",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1368,
          "ai_signals": []
        },
        {
          "name": "ResizableWithHandle",
          "type": "function_declaration",
          "line_start": 74,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1368,
          "ai_signals": []
        },
        {
          "name": "ResizableNested",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1368,
          "ai_signals": []
        },
        {
          "name": "ResizableControlled",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 158,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1368,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 23,
        "function_length_stddev": 7.27,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 159,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.27,
        "mechanical": 95.27,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\sidebar-inset-example.tsx",
      "language": "tsx",
      "line_count": 288,
      "token_estimate": 1944,
      "functions": [
        {
          "name": "SidebarInsetExample",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 287,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 258,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 30,
              "description": "Function is 258 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 258 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarInsetExample is 258 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 214,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 241,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 260,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 221,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 220,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0814,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 258,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 288,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.18,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.79,
        "mechanical": 79.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\textarea-example.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 479,
      "functions": [
        {
          "name": "TextareaExample",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.13,
          "ai_signals": []
        },
        {
          "name": "TextareaBasic",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.13,
          "ai_signals": []
        },
        {
          "name": "TextareaInvalid",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.13,
          "ai_signals": []
        },
        {
          "name": "TextareaWithLabel",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.13,
          "ai_signals": []
        },
        {
          "name": "TextareaWithDescription",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.13,
          "ai_signals": []
        },
        {
          "name": "TextareaDisabled",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.13,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.67,
        "function_length_stddev": 4.08,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6501,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.5,
        "mechanical": 99.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\lib\\_registry.ts",
      "language": "typescript",
      "line_count": 16,
      "token_estimate": 71,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 111,
      "token_estimate": 676,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1644,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1644,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1644,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1644,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1644,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1644,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 14.83,
        "function_length_stddev": 2.64,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 111,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8221,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.55,
        "mechanical": 98.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 371,
      "token_estimate": 2608,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0149,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3564,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3649,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 268,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 150,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 150 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 150 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 150 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 220,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 232,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 232,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 215,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 202,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 212,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 216,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 249,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3649,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 272,
          "line_end": 325,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 272,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 284,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 309,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 319,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2742,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 327,
          "line_end": 361,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 327,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 347,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 349,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 349,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 353,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 355,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 347,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 349,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 349,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 353,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 355,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3649,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 53.5,
        "function_length_stddev": 49.5,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 370,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.108108,
        "structural_uniformity": 0.0747,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.24,
        "mechanical": 52.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 126,
      "token_estimate": 725,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 78,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0888,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 9.6,
        "function_length_stddev": 5.34,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 126,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.54,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.444,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 201,
      "token_estimate": 1116,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 99,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 127,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 140,
          "line_end": 151,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 153,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 163,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 187,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.2,
        "function_length_stddev": 3.68,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 201,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7215,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.04,
        "mechanical": 99.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 430,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "ProgressTrack",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 30,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.419,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ProgressIndicator",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1273,
          "ai_signals": []
        },
        {
          "name": "ProgressLabel",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4773,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ProgressValue",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4773,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 12.4,
        "function_length_stddev": 4.51,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.84,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.037037,
        "structural_uniformity": 0.6366,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.02,
        "mechanical": 90.02,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 71,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 669,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 50,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 43,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 43,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4735,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.87)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1735,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32,
        "function_length_stddev": 4.24,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.15,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8674,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.07,
        "mechanical": 80.07,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\dashboard-01\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 70,
      "token_estimate": 531,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0614,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 70,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.85,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014286,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.33,
        "mechanical": 82.33,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\login-02\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 744,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0538,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.26,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012987,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.75,
        "mechanical": 81.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\account-access.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 771,
      "functions": [
        {
          "name": "AccountAccess",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 23,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function AccountAccess is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0427,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 82,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.9,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009524,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.62,
        "mechanical": 82.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\empty-connect-bank.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 294,
      "functions": [
        {
          "name": "EmptyConnectBank",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\new-milestone.tsx",
      "language": "tsx",
      "line_count": 55,
      "token_estimate": 400,
      "functions": [
        {
          "name": "NewMilestone",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function NewMilestone is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0875,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 55,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.56,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.018182,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.45,
        "mechanical": 86.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\recent-transactions.tsx",
      "language": "tsx",
      "line_count": 308,
      "token_estimate": 3052,
      "functions": [
        {
          "name": "RecentTransactions",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 307,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 279,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 29,
              "description": "Function is 279 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 279 lines (> 37 dynamic threshold)",
                "impact": "Function RecentTransactions is 279 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0125,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 279,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 308,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.33,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.003247,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.19,
        "mechanical": 84.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\syncing-state.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 245,
      "functions": [
        {
          "name": "SyncingState",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 23,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.1,
        "mechanical": 96.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\bar-chart-card.tsx",
      "language": "tsx",
      "line_count": 130,
      "token_estimate": 996,
      "functions": [
        {
          "name": "BarChartCard",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 79,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 51,
              "description": "Function is 79 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 79 lines (> 37 dynamic threshold)",
                "impact": "Function BarChartCard is 79 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 79,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 83,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1772,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 79,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 130,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.030769,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.31,
        "mechanical": 77.31,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\file-upload.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 328,
      "functions": [
        {
          "name": "FileUpload",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\observability-card.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 427,
      "functions": [
        {
          "name": "ObservabilityCard",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 18,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0946,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.019608,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.0,
        "mechanical": 87.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\typography-specimen.tsx",
      "language": "tsx",
      "line_count": 133,
      "token_estimate": 1153,
      "functions": [
        {
          "name": "TypographySpecimen",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 102,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 31,
              "description": "Function is 102 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 102 lines (> 37 dynamic threshold)",
                "impact": "Function TypographySpecimen is 102 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 44,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 44,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1373,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 102,
        "function_length_stddev": 0.0,
        "import_count": 10,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 133,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.030075,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 69.98,
        "mechanical": 69.98,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-01\\components\\version-switcher.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 699,
      "functions": [
        {
          "name": "VersionSwitcher",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 70,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 70 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 70 lines (> 37 dynamic threshold)",
                "impact": "Function VersionSwitcher is 70 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 25,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 70,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.8,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.022727,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.32,
        "mechanical": 79.32,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-04\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 216,
      "token_estimate": 1239,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 160,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 160,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 193,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 202,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.25,
          "ai_signals": [
            "High anti-pattern density (0.71)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 56,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 215,
        "comment_ratio": 0.0046,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.02,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.018605,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.55,
        "mechanical": 81.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-06\\page.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 447,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.53,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-08\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 628,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 43,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 67,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 49,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 48,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 64,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3333,
          "ai_signals": [
            "High anti-pattern density (0.95)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.95,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.071429,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.14,
        "mechanical": 67.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-10\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 361,
      "token_estimate": 1983,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 345,
          "line_end": 360,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 349,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 350,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 353,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 354,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 355,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 360,
        "comment_ratio": 0.0028,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.16,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.013889,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.73,
        "mechanical": 94.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-11\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 171,
      "token_estimate": 1072,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 69,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 100,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3222,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.76)"
          ]
        },
        {
          "name": "Tree",
          "type": "function_declaration",
          "line_start": 113,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 113,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function Tree is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2721,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.76)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 49.5,
        "function_length_stddev": 12.02,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 170,
        "comment_ratio": 0.0058,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.16,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.023529,
        "structural_uniformity": 0.7572,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.77,
        "mechanical": 78.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-13\\page.tsx",
      "language": "tsx",
      "line_count": 10,
      "token_estimate": 62,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 10,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-15\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 144,
      "token_estimate": 1208,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 46,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 72,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0882,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 144,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.8,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.54,
        "mechanical": 78.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-16\\components\\nav-projects.tsx",
      "language": "tsx",
      "line_count": 119,
      "token_estimate": 938,
      "functions": [
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 98,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 98 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 98 lines (> 37 dynamic threshold)",
                "impact": "Function NavProjects is 98 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 39,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 98,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 119,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.38,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.016807,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.8,
        "mechanical": 80.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\signup-02\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 93,
      "token_estimate": 882,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0432,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 81,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 93,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.58,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010753,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.31,
        "mechanical": 82.31,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\components\\_registry.ts",
      "language": "typescript",
      "line_count": 16,
      "token_estimate": 73,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\badge-example.tsx",
      "language": "tsx",
      "line_count": 355,
      "token_estimate": 2615,
      "functions": [
        {
          "name": "BadgeExample",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0538,
          "ai_signals": []
        },
        {
          "name": "BadgeVariants",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0538,
          "ai_signals": []
        },
        {
          "name": "BadgeWithIconLeft",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 111,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 74,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 38,
              "description": "Function is 74 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 74 lines (> 37 dynamic threshold)",
                "impact": "Function BadgeWithIconLeft is 74 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1011,
          "ai_signals": []
        },
        {
          "name": "BadgeWithIconRight",
          "type": "function_declaration",
          "line_start": 113,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 74,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 113,
              "description": "Function is 74 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 74 lines (> 37 dynamic threshold)",
                "impact": "Function BadgeWithIconRight is 74 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1011,
          "ai_signals": []
        },
        {
          "name": "BadgeWithSpinner",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 219,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0538,
          "ai_signals": []
        },
        {
          "name": "BadgeAsLink",
          "type": "function_declaration",
          "line_start": 221,
          "line_end": 306,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 86,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 221,
              "description": "Function is 86 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 86 lines (> 37 dynamic threshold)",
                "impact": "Function BadgeAsLink is 86 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0945,
          "ai_signals": []
        },
        {
          "name": "BadgeLongText",
          "type": "function_declaration",
          "line_start": 308,
          "line_end": 318,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0538,
          "ai_signals": []
        },
        {
          "name": "BadgeCustomColors",
          "type": "function_declaration",
          "line_start": 320,
          "line_end": 354,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0538,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 42.38,
        "function_length_stddev": 30.98,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 355,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.45,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.008451,
        "structural_uniformity": 0.2689,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.17,
        "mechanical": 88.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\checkbox-example.tsx",
      "language": "tsx",
      "line_count": 261,
      "token_estimate": 1680,
      "functions": [
        {
          "name": "CheckboxExample",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0314,
          "ai_signals": []
        },
        {
          "name": "CheckboxBasic",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0314,
          "ai_signals": []
        },
        {
          "name": "CheckboxWithDescription",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0314,
          "ai_signals": []
        },
        {
          "name": "CheckboxInvalid",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0314,
          "ai_signals": []
        },
        {
          "name": "CheckboxDisabled",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0314,
          "ai_signals": []
        },
        {
          "name": "CheckboxWithTitle",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0314,
          "ai_signals": []
        },
        {
          "name": "CheckboxInTable",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 214,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 67,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 148,
              "description": "Function is 67 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 67 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxInTable is 67 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 197,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1359,
          "ai_signals": []
        },
        {
          "name": "CheckboxGroup",
          "type": "function_declaration",
          "line_start": 216,
          "line_end": 260,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 216,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxGroup is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1092,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 25,
        "function_length_stddev": 21.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 261,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.1571,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.63,
        "mechanical": 92.63,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\drawer-example.tsx",
      "language": "tsx",
      "line_count": 123,
      "token_estimate": 1081,
      "functions": [
        {
          "name": "DrawerExample",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0618,
          "ai_signals": []
        },
        {
          "name": "DrawerWithSides",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 30,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerWithSides is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 38,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 38,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2599,
          "ai_signals": [
            "High anti-pattern density (0.57)"
          ]
        },
        {
          "name": "DrawerScrollableContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 84,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function DrawerScrollableContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1516,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 33.33,
        "function_length_stddev": 23.03,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 123,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.03252,
        "structural_uniformity": 0.3091,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.87,
        "mechanical": 84.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\item-example.tsx",
      "language": "tsx",
      "line_count": 2010,
      "token_estimate": 14802,
      "functions": [
        {
          "name": "ItemExample",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1158,
          "ai_signals": []
        },
        {
          "name": "DefaultVariantItems",
          "type": "function_declaration",
          "line_start": 53,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 121,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 53,
              "description": "Function is 121 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 121 lines (> 37 dynamic threshold)",
                "impact": "Function DefaultVariantItems is 121 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1447,
          "ai_signals": []
        },
        {
          "name": "OutlineVariantItems",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 295,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 121,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 175,
              "description": "Function is 121 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 121 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineVariantItems is 121 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1447,
          "ai_signals": []
        },
        {
          "name": "MutedVariantItems",
          "type": "function_declaration",
          "line_start": 297,
          "line_end": 417,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 121,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 297,
              "description": "Function is 121 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 121 lines (> 37 dynamic threshold)",
                "impact": "Function MutedVariantItems is 121 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1447,
          "ai_signals": []
        },
        {
          "name": "DefaultVariantItemsSmall",
          "type": "function_declaration",
          "line_start": 419,
          "line_end": 543,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 125,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 419,
              "description": "Function is 125 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 125 lines (> 37 dynamic threshold)",
                "impact": "Function DefaultVariantItemsSmall is 125 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1438,
          "ai_signals": []
        },
        {
          "name": "OutlineVariantItemsSmall",
          "type": "function_declaration",
          "line_start": 545,
          "line_end": 669,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 125,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 545,
              "description": "Function is 125 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 125 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineVariantItemsSmall is 125 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1438,
          "ai_signals": []
        },
        {
          "name": "MutedVariantItemsSmall",
          "type": "function_declaration",
          "line_start": 671,
          "line_end": 795,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 125,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 671,
              "description": "Function is 125 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 125 lines (> 37 dynamic threshold)",
                "impact": "Function MutedVariantItemsSmall is 125 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1438,
          "ai_signals": []
        },
        {
          "name": "DefaultVariantItemsExtraSmall",
          "type": "function_declaration",
          "line_start": 797,
          "line_end": 905,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 109,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 797,
              "description": "Function is 109 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 109 lines (> 37 dynamic threshold)",
                "impact": "Function DefaultVariantItemsExtraSmall is 109 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1479,
          "ai_signals": []
        },
        {
          "name": "OutlineVariantItemsExtraSmall",
          "type": "function_declaration",
          "line_start": 907,
          "line_end": 1015,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 109,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 907,
              "description": "Function is 109 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 109 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineVariantItemsExtraSmall is 109 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1479,
          "ai_signals": []
        },
        {
          "name": "MutedVariantItemsExtraSmall",
          "type": "function_declaration",
          "line_start": 1017,
          "line_end": 1125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 109,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1017,
              "description": "Function is 109 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 109 lines (> 37 dynamic threshold)",
                "impact": "Function MutedVariantItemsExtraSmall is 109 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1479,
          "ai_signals": []
        },
        {
          "name": "DefaultLinkItems",
          "type": "function_declaration",
          "line_start": 1127,
          "line_end": 1201,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 75,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1127,
              "description": "Function is 75 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 75 lines (> 37 dynamic threshold)",
                "impact": "Function DefaultLinkItems is 75 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1624,
          "ai_signals": []
        },
        {
          "name": "OutlineLinkItems",
          "type": "function_declaration",
          "line_start": 1203,
          "line_end": 1277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 75,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1203,
              "description": "Function is 75 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 75 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineLinkItems is 75 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1624,
          "ai_signals": []
        },
        {
          "name": "MutedLinkItems",
          "type": "function_declaration",
          "line_start": 1279,
          "line_end": 1353,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 75,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1279,
              "description": "Function is 75 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 75 lines (> 37 dynamic threshold)",
                "impact": "Function MutedLinkItems is 75 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1624,
          "ai_signals": []
        },
        {
          "name": "DefaultItemGroup",
          "type": "function_declaration",
          "line_start": 1355,
          "line_end": 1380,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1158,
          "ai_signals": []
        },
        {
          "name": "OutlineItemGroup",
          "type": "function_declaration",
          "line_start": 1382,
          "line_end": 1434,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1382,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineItemGroup is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1818,
          "ai_signals": []
        },
        {
          "name": "MutedItemGroup",
          "type": "function_declaration",
          "line_start": 1436,
          "line_end": 1476,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1436,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function MutedItemGroup is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2011,
          "ai_signals": []
        },
        {
          "name": "ItemSeparatorExample",
          "type": "function_declaration",
          "line_start": 1478,
          "line_end": 1548,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 71,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1478,
              "description": "Function is 71 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 71 lines (> 37 dynamic threshold)",
                "impact": "Function ItemSeparatorExample is 71 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1651,
          "ai_signals": []
        },
        {
          "name": "ItemHeaderExamples",
          "type": "function_declaration",
          "line_start": 1550,
          "line_end": 1591,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1550,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function ItemHeaderExamples is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1991,
          "ai_signals": []
        },
        {
          "name": "ItemFooterExamples",
          "type": "function_declaration",
          "line_start": 1593,
          "line_end": 1638,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1593,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function ItemFooterExamples is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1918,
          "ai_signals": []
        },
        {
          "name": "ItemHeaderAndFooterExamples",
          "type": "function_declaration",
          "line_start": 1640,
          "line_end": 1696,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1640,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function ItemHeaderAndFooterExamples is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1772,
          "ai_signals": []
        },
        {
          "name": "DefaultVariantItemsWithImage",
          "type": "function_declaration",
          "line_start": 1698,
          "line_end": 1760,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1698,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function DefaultVariantItemsWithImage is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1713,
          "ai_signals": []
        },
        {
          "name": "OutlineVariantItemsWithImage",
          "type": "function_declaration",
          "line_start": 1762,
          "line_end": 1824,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1762,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineVariantItemsWithImage is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1713,
          "ai_signals": []
        },
        {
          "name": "OutlineVariantItemsWithImageSmall",
          "type": "function_declaration",
          "line_start": 1826,
          "line_end": 1888,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1826,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineVariantItemsWithImageSmall is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1713,
          "ai_signals": []
        },
        {
          "name": "OutlineVariantItemsWithImageExtraSmall",
          "type": "function_declaration",
          "line_start": 1890,
          "line_end": 1945,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1890,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function OutlineVariantItemsWithImageExtraSmall is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1783,
          "ai_signals": []
        },
        {
          "name": "MutedVariantItemsWithImage",
          "type": "function_declaration",
          "line_start": 1947,
          "line_end": 2009,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1947,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function MutedVariantItemsWithImage is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1713,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 25,
        "avg_function_length": 78.56,
        "function_length_stddev": 33.09,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 2010,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.83,
        "debug_artifacts": [],
        "ai_smell_count": 23,
        "ai_smell_density": 0.011443,
        "structural_uniformity": 0.5788,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.14,
        "mechanical": 82.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\progress-example.tsx",
      "language": "tsx",
      "line_count": 143,
      "token_estimate": 861,
      "functions": [
        {
          "name": "ProgressExample",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0092,
          "ai_signals": []
        },
        {
          "name": "ProgressValues",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 37,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 38,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 39,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 40,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 41,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3592,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ProgressWithLabel",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 55,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2784,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        },
        {
          "name": "ProgressControlled",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 67,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 68,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3592,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "FileUploadList",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 80,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function FileUploadList is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 130,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1203,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 23.4,
        "function_length_stddev": 22.32,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 143,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.076923,
        "structural_uniformity": 0.046,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.75,
        "mechanical": 76.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\sidebar-floating-example.tsx",
      "language": "tsx",
      "line_count": 276,
      "token_estimate": 1852,
      "functions": [
        {
          "name": "SidebarFloatingExample",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 275,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 231,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 231 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 231 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarFloatingExample is 231 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 219,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 214,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0455,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 21,
              "description": "Unused import: import {\n  Item,\n  ItemContent,\n  ItemDescription,\n  ItemMedia,\n  ItemTitle,\n} from \"@/registry/bases/radix/ui/item\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'ItemMedia' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Item,\n  ItemContent,\n  ItemDescription,\n  ItemMedia,\n  ItemTitle,\n} from \"@/registry/bases/radix/ui/item\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 231,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 276,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.41,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.01087,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.28,
        "mechanical": 82.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\table-example.tsx",
      "language": "tsx",
      "line_count": 479,
      "token_estimate": 3970,
      "functions": [
        {
          "name": "TableExample",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0851,
          "ai_signals": []
        },
        {
          "name": "TableBasic",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0851,
          "ai_signals": []
        },
        {
          "name": "TableWithFooter",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 157,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0851,
          "ai_signals": []
        },
        {
          "name": "TableSimple",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 190,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0851,
          "ai_signals": []
        },
        {
          "name": "TableWithBadges",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 247,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 192,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function TableWithBadges is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1476,
          "ai_signals": []
        },
        {
          "name": "TableWithActions",
          "type": "function_declaration",
          "line_start": 249,
          "line_end": 349,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 249,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function TableWithActions is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1198,
          "ai_signals": []
        },
        {
          "name": "TableWithSelect",
          "type": "function_declaration",
          "line_start": 351,
          "line_end": 424,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 74,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 351,
              "description": "Function is 74 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 74 lines (> 37 dynamic threshold)",
                "impact": "Function TableWithSelect is 74 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1324,
          "ai_signals": []
        },
        {
          "name": "TableWithInput",
          "type": "function_declaration",
          "line_start": 426,
          "line_end": 478,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 426,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function TableWithInput is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1511,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 49.12,
        "function_length_stddev": 28.22,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 479,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.84,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.008351,
        "structural_uniformity": 0.4255,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.18,
        "mechanical": 86.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\internal\\_registry.ts",
      "language": "typescript",
      "line_count": 4,
      "token_estimate": 23,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 4,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 73,
      "token_estimate": 398,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 73,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 95,
      "token_estimate": 515,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 53,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 10.57,
        "function_length_stddev": 2.07,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 95,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8042,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.83,
        "mechanical": 99.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 161,
      "token_estimate": 961,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.031,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.031,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.031,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.031,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.031,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 47,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function DialogContent is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1231,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.031,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.031,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.031,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 136,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.031,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.9,
        "function_length_stddev": 10.9,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 161,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.67,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006211,
        "structural_uniformity": 0.1552,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.12,
        "mechanical": 97.12,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 93,
      "token_estimate": 554,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1143,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1143,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.235,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1143,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 19.75,
        "function_length_stddev": 8.46,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 93,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.8,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010753,
        "structural_uniformity": 0.5716,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.14,
        "mechanical": 93.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 156,
      "token_estimate": 902,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.103,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.103,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.103,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 57,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2621,
          "ai_signals": []
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.103,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 95,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.103,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.103,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 18.29,
        "function_length_stddev": 8.86,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 156,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.75,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.00641,
        "structural_uniformity": 0.5152,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 146,
      "token_estimate": 1011,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0099,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0099,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0099,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0099,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0099,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 48,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0952,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0099,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0099,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0099,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0099,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 11.6,
        "function_length_stddev": 11.03,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 146,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.57,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006849,
        "structural_uniformity": 0.0494,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.58,
        "mechanical": 97.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 825,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 77,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 15.5,
        "function_length_stddev": 2.65,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8293,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.35,
        "mechanical": 98.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\icons\\icon-phosphor.tsx",
      "language": "tsx",
      "line_count": 4,
      "token_estimate": 28,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 4,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.71,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\dashboard-01\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 424,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0778,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.36,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016949,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.26,
        "mechanical": 85.26,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\login-02\\components\\login-form.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 699,
      "functions": [
        {
          "name": "LoginForm",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 12,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function LoginForm is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0648,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 54,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.18,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015152,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.01,
        "mechanical": 83.01,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-01\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 183,
      "token_estimate": 962,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 150,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 170,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2121,
          "ai_signals": [
            "High anti-pattern density (0.61)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 182,
        "comment_ratio": 0.0055,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.96,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.010989,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.35,
        "mechanical": 90.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-03\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 209,
      "token_estimate": 1153,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 208,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 159,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 185,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 194,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.28,
          "ai_signals": [
            "High anti-pattern density (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 208,
        "comment_ratio": 0.0048,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.92,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.019231,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.19,
        "mechanical": 83.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-06\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 432,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 54,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 46,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2234,
          "ai_signals": [
            "High anti-pattern density (0.64)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 47,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.89,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.045455,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.54,
        "mechanical": 77.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-07\\page.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 502,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.42,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.84,
        "mechanical": 86.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-09\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 115,
      "token_estimate": 862,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 114,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.128,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 82,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 115,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.1,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.026087,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.23,
        "mechanical": 77.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-10\\components\\team-switcher.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 637,
      "functions": [
        {
          "name": "TeamSwitcher",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function TeamSwitcher is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 30,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1111,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.95,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.02381,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.55,
        "mechanical": 73.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-12\\page.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 346,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 37,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1167,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.44,
        "mechanical": 88.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-15\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 171,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 26,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.027778,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.56,
        "mechanical": 88.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-16\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 189,
      "token_estimate": 986,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 155,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 179,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 180,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 181,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 184,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 189,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.021164,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.51,
        "mechanical": 87.51,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\signup-01\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 616,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0583,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 60,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012987,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.75,
        "mechanical": 81.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\signup-05\\components\\signup-form.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 855,
      "functions": [
        {
          "name": "SignupForm",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function SignupForm is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0538,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.99,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012658,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.84,
        "mechanical": 81.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-area-legend.tsx",
      "language": "tsx",
      "line_count": 111,
      "token_estimate": 747,
      "functions": [
        {
          "name": "ChartAreaLegend",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 66,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 66 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 66 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaLegend is 66 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 64,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 72,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 92,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2121,
          "ai_signals": [
            "High anti-pattern density (0.61)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 66,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 111,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.036036,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.99,
        "mechanical": 75.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-bar-interactive.tsx",
      "language": "tsx",
      "line_count": 222,
      "token_estimate": 2152,
      "functions": [
        {
          "name": "ChartBarInteractive",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 221,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 92,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 130,
              "description": "Function is 92 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 92 lines (> 37 dynamic threshold)",
                "impact": "Function ChartBarInteractive is 92 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 185,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 200,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 215,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 153,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 165,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 153,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 165,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3043,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 92,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 222,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.16,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.036036,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.99,
        "mechanical": 75.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-line-dots-colors.tsx",
      "language": "tsx",
      "line_count": 119,
      "token_estimate": 763,
      "functions": [
        {
          "name": "ChartLineDotsColors",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 61,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 58,
              "description": "Function is 61 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 61 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLineDotsColors is 61 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 76,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 77,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2295,
          "ai_signals": [
            "High anti-pattern density (0.66)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 61,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 119,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.033613,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.6,
        "mechanical": 76.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-line-step.tsx",
      "language": "tsx",
      "line_count": 89,
      "token_estimate": 570,
      "functions": [
        {
          "name": "ChartLineStep",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLineStep is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 64,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.21,
          "ai_signals": [
            "High anti-pattern density (0.60)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 89,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.21,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033708,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.57,
        "mechanical": 79.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-pie-legend.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 481,
      "functions": [
        {
          "name": "ChartPieLegend",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 68,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 69,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2917,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.025316,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.47,
        "mechanical": 89.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-grid-circle.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 555,
      "functions": [
        {
          "name": "ChartRadarGridCircle",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarGridCircle is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1591,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.024096,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.78,
        "mechanical": 83.78,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-multiple.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 579,
      "functions": [
        {
          "name": "ChartRadarMultiple",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarMultiple is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1707,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.02381,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.75,
        "mechanical": 84.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-tooltip-advanced.tsx",
      "language": "tsx",
      "line_count": 124,
      "token_estimate": 984,
      "functions": [
        {
          "name": "ChartTooltipAdvanced",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 83,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 41,
              "description": "Function is 83 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 83 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipAdvanced is 83 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 76,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 86,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 91,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 86,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 91,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 82,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 91,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3373,
          "ai_signals": [
            "High anti-pattern density (0.96)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 83,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 124,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.68,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.064516,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.87,
        "mechanical": 68.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-tooltip-label-none.tsx",
      "language": "tsx",
      "line_count": 85,
      "token_estimate": 547,
      "functions": [
        {
          "name": "ChartTooltipLabelNone",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 41,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipLabelNone is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1591,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 85,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.76,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.023529,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.92,
        "mechanical": 83.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\badge-demo.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 296,
      "functions": [
        {
          "name": "BadgeDemo",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import { AlertCircleIcon, BadgeCheckIcon, CheckIcon } from \"lucide-react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'AlertCircleIcon' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { AlertCircleIcon, BadgeCheckIcon, CheckIcon } from \"lucide-react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 1,
              "description": "Unused import: import { AlertCircleIcon, BadgeCheckIcon, CheckIcon } from \"lucide-react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CheckIcon' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { AlertCircleIcon, BadgeCheckIcon, CheckIcon } from \"lucide-react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 2
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\breadcrumb-responsive.tsx",
      "language": "tsx",
      "line_count": 136,
      "token_estimate": 1094,
      "functions": [
        {
          "name": "BreadcrumbResponsive",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 92,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 44,
              "description": "Function is 92 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 92 lines (> 37 dynamic threshold)",
                "impact": "Function BreadcrumbResponsive is 92 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 58,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 116,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 45,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 53,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 71,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 121,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2663,
          "ai_signals": [
            "High anti-pattern density (0.76)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 92,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 136,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.84,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.051471,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 64.63,
        "mechanical": 64.63,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-group-dropdown.tsx",
      "language": "tsx",
      "line_count": 74,
      "token_estimate": 501,
      "functions": [
        {
          "name": "ButtonGroupDropdown",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupDropdown is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0868,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 74,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.92,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013514,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 84.92,
        "mechanical": 84.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-group-size.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 328,
      "functions": [
        {
          "name": "ButtonGroupSize",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 6,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupSize is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.19,
        "mechanical": 85.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-size.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 246,
      "functions": [
        {
          "name": "ButtonSize",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.74,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\carousel-orientation.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 254,
      "functions": [
        {
          "name": "CarouselOrientation",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.54,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.9,
        "mechanical": 94.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\chart-bar-demo.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 249,
      "functions": [
        {
          "name": "Component",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\combobox-popover.tsx",
      "language": "tsx",
      "line_count": 92,
      "token_estimate": 556,
      "functions": [
        {
          "name": "ComboboxPopover",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 48,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function ComboboxPopover is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 60,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 60,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 49,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 92,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.29,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.043478,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.43,
        "mechanical": 76.43,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\date-picker-with-range.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 449,
      "functions": [
        {
          "name": "DatePickerWithRange",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerWithRange is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 40,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 38,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 56,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2857,
          "ai_signals": [
            "High anti-pattern density (0.82)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.65,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.060606,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 65.65,
        "mechanical": 65.65,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\dropdown-menu-radio-group.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 279,
      "functions": [
        {
          "name": "DropdownMenuRadioGroupDemo",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1973,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.34,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.027778,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.06,
        "mechanical": 90.06,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\field-checkbox.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 656,
      "functions": [
        {
          "name": "FieldCheckbox",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 13,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function FieldCheckbox is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0515,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 68,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012346,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.91,
        "mechanical": 81.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\field-select.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 303,
      "functions": [
        {
          "name": "FieldSelect",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.27,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.9,
        "mechanical": 94.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-next-demo-schema.ts",
      "language": "typescript",
      "line_count": 19,
      "token_estimate": 129,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.18,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-rhf-radiogroup.tsx",
      "language": "tsx",
      "line_count": 153,
      "token_estimate": 1126,
      "functions": [
        {
          "name": "FormRhfRadioGroup",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 97,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 97 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 97 lines (> 37 dynamic threshold)",
                "impact": "Function FormRhfRadioGroup is 97 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 122,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 132,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 75,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 75,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1804,
          "ai_signals": [
            "High anti-pattern density (0.52)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 97,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 153,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.03268,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.83,
        "mechanical": 76.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-tanstack-input.tsx",
      "language": "tsx",
      "line_count": 128,
      "token_estimate": 927,
      "functions": [
        {
          "name": "FormTanstackInput",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 127,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 91,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 37,
              "description": "Function is 91 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 91 lines (> 37 dynamic threshold)",
                "impact": "Function FormTanstackInput is 91 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 106,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 56,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 56,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1538,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 91,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 127,
        "comment_ratio": 0.0078,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.031496,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.13,
        "mechanical": 77.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-file.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 82,
      "functions": [
        {
          "name": "InputFile",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-group-spinner.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 360,
      "functions": [
        {
          "name": "InputGroupSpinner",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.74,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-with-button.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 94,
      "functions": [
        {
          "name": "InputWithButton",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\item-icon.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 206,
      "functions": [
        {
          "name": "ItemIcon",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.31,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\kbd-input-group.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 154,
      "functions": [
        {
          "name": "KbdInputGroup",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\native-select-invalid.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 140,
      "functions": [
        {
          "name": "NativeSelectInvalid",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0032,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\resizable-handle.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 199,
      "functions": [
        {
          "name": "ResizableHandleDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.13,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\sheet-side.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 480,
      "functions": [
        {
          "name": "SheetSide",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function SheetSide is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0854,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.27,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016129,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.67,
        "mechanical": 86.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\spinner-button.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 137,
      "functions": [
        {
          "name": "SpinnerButton",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.17,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\switch-demo.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 81,
      "functions": [
        {
          "name": "SwitchDemo",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.74,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\toggle-demo.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 108,
      "functions": [
        {
          "name": "ToggleDemo",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\toggle-group-spacing.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 289,
      "functions": [
        {
          "name": "ToggleGroupSpacing",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-h1.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 53,
      "functions": [
        {
          "name": "TypographyH1",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-muted.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 35,
      "functions": [
        {
          "name": "TypographyMuted",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\sidebar-demo.tsx",
      "language": "tsx",
      "line_count": 86,
      "token_estimate": 429,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 66,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1094,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 85,
        "comment_ratio": 0.0116,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.46,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011765,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.46,
        "mechanical": 90.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\sidebar-menu-collapsible.tsx",
      "language": "tsx",
      "line_count": 197,
      "token_estimate": 1035,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 196,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 152,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 178,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1556,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 45,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 197,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.7,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.010152,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.96,
        "mechanical": 86.96,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 512,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0996,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0996,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0996,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0996,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.25,
        "function_length_stddev": 6.65,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.56,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.498,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.03,
        "mechanical": 99.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 65,
      "token_estimate": 598,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 65,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.95,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.9,
        "mechanical": 93.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 185,
      "token_estimate": 1207,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1306,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1306,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 63,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1306,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1306,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 111,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1306,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 113,
          "line_end": 127,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1306,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 129,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1306,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1306,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1306,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 16.56,
        "function_length_stddev": 5.75,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 185,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6529,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.03,
        "mechanical": 98.03,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\form.tsx",
      "language": "tsx",
      "line_count": 168,
      "token_estimate": 941,
      "functions": [
        {
          "name": "FormField",
          "type": "arrow_function",
          "line_start": 32,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 39,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 40,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.502,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.76)"
          ]
        },
        {
          "name": "useFormField",
          "type": "arrow_function",
          "line_start": 45,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.152,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.76)"
          ]
        },
        {
          "name": "FormItem",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 80,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4213,
          "ai_signals": [
            "High anti-pattern density (0.77)",
            "Suspiciously uniform function lengths (0.76)"
          ]
        },
        {
          "name": "FormLabel",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.152,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.76)"
          ]
        },
        {
          "name": "FormControl",
          "type": "function_declaration",
          "line_start": 107,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.152,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.76)"
          ]
        },
        {
          "name": "FormDescription",
          "type": "function_declaration",
          "line_start": 125,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.152,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.76)"
          ]
        },
        {
          "name": "FormMessage",
          "type": "function_declaration",
          "line_start": 138,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 140,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 140,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.502,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.76)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 15.86,
        "function_length_stddev": 3.8,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 168,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.34,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.029762,
        "structural_uniformity": 0.7601,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 277,
      "token_estimate": 2097,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 140,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 164,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 184,
          "line_end": 195,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 197,
          "line_end": 211,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 213,
          "line_end": 217,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 219,
          "line_end": 241,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 243,
          "line_end": 257,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 14.62,
        "function_length_stddev": 7.43,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 277,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.95,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4921,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.61,
        "mechanical": 98.61,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 409,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1764,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1764,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 24,
        "function_length_stddev": 2.83,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.02,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8821,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.13,
        "mechanical": 94.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\styles.tsx",
      "language": "tsx",
      "line_count": 145,
      "token_estimate": 1214,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 145,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.54,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 110,
      "token_estimate": 759,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1648,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.82)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 14.67,
        "function_length_stddev": 2.58,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 110,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.6,
        "mechanical": 98.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2636,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1035,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.5,
        "function_length_stddev": 5.78,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4497,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 202,
      "token_estimate": 1218,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 164,
          "line_end": 175,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 177,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1443,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.2,
        "function_length_stddev": 3.68,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 202,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7215,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.04,
        "mechanical": 99.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 435,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressTrack",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 30,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ProgressIndicator",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1366,
          "ai_signals": []
        },
        {
          "name": "ProgressLabel",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 56,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4866,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ProgressValue",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4282,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 5,
        "avg_function_length": 13,
        "function_length_stddev": 4.12,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.7,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.035714,
        "structural_uniformity": 0.6828,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.17,
        "mechanical": 90.17,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 69,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 813,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 50,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 43,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 43,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4735,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.87)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1735,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32,
        "function_length_stddev": 4.24,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.69,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8674,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.07,
        "mechanical": 80.07,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 481,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.42,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 337,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.42,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2206,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 187,
          "line_end": 194,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 196,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 11.36,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.77,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2657,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 209,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 413,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 14,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4949,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 501,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.18,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 421,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.92,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 123,
      "token_estimate": 649,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 75,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.14,
        "function_length_stddev": 4.45,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 123,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.4,
        "mechanical": 98.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 164,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 4.33,
        "function_length_stddev": 1.15,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7335,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 129,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 417,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 753,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 16.07,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 623,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 18,
        "function_length_stddev": 3.61,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7997,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 301,
      "token_estimate": 2299,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.376,
          "ai_signals": [
            "High anti-pattern density (0.88)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 163,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 186,
          "line_end": 190,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 205,
          "line_end": 216,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 218,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 264,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 266,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 281,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.56,
        "function_length_stddev": 10.33,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 301,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009967,
        "structural_uniformity": 0.336,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.37,
        "mechanical": 95.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1500,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.89,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 282,
      "token_estimate": 2106,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 109,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 204,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 206,
          "line_end": 220,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 222,
          "line_end": 226,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 228,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 248,
          "line_end": 262,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 13.94,
        "function_length_stddev": 8.14,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 282,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4157,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.82,
        "mechanical": 98.82,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 406,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\accordion.tsx",
      "language": "tsx",
      "line_count": 81,
      "token_estimate": 667,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0876,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 17,
        "function_length_stddev": 9.56,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4378,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\button.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 802,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.84,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\command.tsx",
      "language": "tsx",
      "line_count": 197,
      "token_estimate": 1256,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 148,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 150,
          "line_end": 168,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 170,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.44,
        "function_length_stddev": 6.31,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 197,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6385,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.77,
        "mechanical": 97.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\hover-card.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 463,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.67,
        "function_length_stddev": 16.77,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.9,
        "mechanical": 98.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 495,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\select.tsx",
      "language": "tsx",
      "line_count": 203,
      "token_estimate": 1677,
      "functions": [
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2169,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function SelectContent is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1726,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 153,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 155,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 189,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0872,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 19,
        "function_length_stddev": 10.71,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 203,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.93,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.009852,
        "structural_uniformity": 0.4362,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.84,
        "mechanical": 94.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\switch.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 497,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.77,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 188,
      "token_estimate": 1320,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 157,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 168,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3312,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 12.75,
        "function_length_stddev": 5.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 188,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005319,
        "structural_uniformity": 0.5625,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 232,
      "token_estimate": 2102,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1584,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 229,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 211,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3668,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105,
        "function_length_stddev": 96.17,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 232,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.047414,
        "structural_uniformity": 0.0841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.9,
        "mechanical": 66.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2033,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 199,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 9.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3804,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 159,
      "token_estimate": 1320,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 58,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 58,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 61,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5005,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 97,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3255,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 107,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 109,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4687,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.83,
        "function_length_stddev": 3.92,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 159,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.92,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044025,
        "structural_uniformity": 0.7524,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.24,
        "mechanical": 87.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 172,
      "token_estimate": 1853,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3106,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuPositioner",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 127,
          "line_end": 141,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.75,
        "function_length_stddev": 4.98,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 172,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005814,
        "structural_uniformity": 0.7195,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.22,
        "mechanical": 96.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 136,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 516,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 654,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.86,
        "function_length_stddev": 2.67,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.61,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7746,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.44,
        "mechanical": 99.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 157,
      "token_estimate": 997,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function DialogContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0987,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 127,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 129,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.009,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.5,
        "function_length_stddev": 11.94,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 157,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006369,
        "structural_uniformity": 0.045,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.2,
        "mechanical": 97.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 637,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 134,
      "token_estimate": 728,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 52,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4147,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.57,
        "function_length_stddev": 6.53,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 134,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.552,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.18,
        "mechanical": 94.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1099,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.5,
        "function_length_stddev": 11.68,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007407,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.77,
        "mechanical": 97.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 874,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 3.4,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.93,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7525,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 68,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1420,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.01,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 126,
      "functions": [
        {
          "name": "DirectionProvider",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 233,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 7,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-form-missing-labels",
              "severity": "high",
              "line": 7,
              "description": "Form input without associated label - screen readers cannot identify what the input is for",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.89,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.1,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.1,
        "mechanical": 74.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 604,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverAnchor",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 9.43,
        "function_length_stddev": 5.77,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3881,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 706,
      "token_estimate": 5348,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 133,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 133,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 107,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 69,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 73,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 75,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 85,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 91,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 251,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 151,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 191,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 191,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.104,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 253,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 302,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 283,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 304,
          "line_end": 315,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 317,
          "line_end": 329,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 331,
          "line_end": 343,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 345,
          "line_end": 354,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 356,
          "line_end": 368,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 370,
          "line_end": 382,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 384,
          "line_end": 393,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 395,
          "line_end": 413,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 415,
          "line_end": 433,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 435,
          "line_end": 447,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 449,
          "line_end": 458,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 460,
          "line_end": 469,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 493,
          "line_end": 541,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 493,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 543,
          "line_end": 567,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 569,
          "line_end": 584,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 586,
          "line_end": 622,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 615,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 615,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 594,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2838,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 624,
          "line_end": 636,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 638,
          "line_end": 650,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 652,
          "line_end": 678,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 24.5,
        "function_length_stddev": 24.6,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 697,
        "comment_ratio": 0.0127,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 18,
        "ai_smell_density": 0.025825,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.74,
        "mechanical": 86.74,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 205,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 113,
      "token_estimate": 774,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.17,
        "function_length_stddev": 2.23,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 113,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8531,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.45,
        "mechanical": 98.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2625,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1099,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.5,
        "function_length_stddev": 5.78,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4497,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 197,
      "token_estimate": 1198,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 95,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 136,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 149,
          "line_end": 157,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 172,
          "line_end": 183,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.8,
        "function_length_stddev": 2.53,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 197,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8024,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.91,
        "mechanical": 98.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 186,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.15,
        "mechanical": 95.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 69,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 794,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 49,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 42,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 42,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4782,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1782,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32.5,
        "function_length_stddev": 3.54,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8912,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.92,
        "mechanical": 79.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 469,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.29,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.1,
        "mechanical": 95.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 350,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 274,
      "token_estimate": 2239,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 120,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 162,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 182,
          "line_end": 193,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 195,
          "line_end": 209,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 211,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 217,
          "line_end": 239,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 241,
          "line_end": 255,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.53,
        "function_length_stddev": 8.71,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 274,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4394,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.34,
        "mechanical": 98.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 209,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 423,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 17,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 449,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.18,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 425,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.01,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 621,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 13.86,
        "function_length_stddev": 4.14,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7012,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.13,
        "mechanical": 98.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 198,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 8.33,
        "function_length_stddev": 2.89,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6536,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 601,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 153,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.02,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 417,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 527,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 11.25,
        "function_length_stddev": 8.5,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2444,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.62,
        "mechanical": 99.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\button-group.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 587,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3607,
          "ai_signals": [
            "High anti-pattern density (0.53)",
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 17,
        "function_length_stddev": 2.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.36,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011905,
        "structural_uniformity": 0.8824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.09,
        "mechanical": 94.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\combobox.tsx",
      "language": "tsx",
      "line_count": 303,
      "token_estimate": 2290,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 82,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3568,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 124,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 126,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 205,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 207,
          "line_end": 218,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 220,
          "line_end": 235,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 237,
          "line_end": 266,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 268,
          "line_end": 279,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 281,
          "line_end": 283,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.69,
        "function_length_stddev": 10.58,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 303,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009901,
        "structural_uniformity": 0.3255,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.35,
        "mechanical": 95.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1513,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.86,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\menubar.tsx",
      "language": "tsx",
      "line_count": 285,
      "token_estimate": 2140,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 172,
          "line_end": 190,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 205,
          "line_end": 219,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 221,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 251,
          "line_end": 265,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0917,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.12,
        "function_length_stddev": 8.19,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 285,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4586,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.46,
        "mechanical": 98.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 423,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 685,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.5,
        "function_length_stddev": 7.9,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5732,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.45,
        "mechanical": 97.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 68,
      "token_estimate": 835,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 68,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.9,
        "mechanical": 93.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 193,
      "token_estimate": 1242,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 63,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 117,
          "line_end": 131,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 133,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 164,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.33,
        "function_length_stddev": 6.02,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 193,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6526,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.8,
        "mechanical": 97.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 380,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 11,
        "function_length_stddev": 8.72,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.71,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2075,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 496,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 196,
      "token_estimate": 1689,
      "functions": [
        {
          "name": "Select",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 164,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 16.5,
        "function_length_stddev": 9.78,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 196,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4074,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 437,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.92,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 200,
      "token_estimate": 1399,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 148,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 150,
          "line_end": 166,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 168,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 13.75,
        "function_length_stddev": 4.92,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 200,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6422,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 233,
      "token_estimate": 2106,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1607,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 230,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 193,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarDayButton is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 208,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 212,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.369,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105.5,
        "function_length_stddev": 95.46,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 233,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 13,
        "ai_smell_density": 0.055794,
        "structural_uniformity": 0.0952,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 64.8,
        "mechanical": 64.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 268,
      "token_estimate": 2100,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 200,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 202,
          "line_end": 220,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 222,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.13,
        "function_length_stddev": 7.82,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 268,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4834,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.46,
        "mechanical": 98.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 157,
      "token_estimate": 1262,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 58,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 58,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 61,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.504,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 95,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3485,
          "ai_signals": [
            "High anti-pattern density (0.56)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 107,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4722,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 117,
          "line_end": 131,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 133,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.5,
        "function_length_stddev": 3.56,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 157,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.88,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044586,
        "structural_uniformity": 0.7701,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.2,
        "mechanical": 87.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 168,
      "token_estimate": 1643,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuViewport",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.12,
        "function_length_stddev": 3.64,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 168,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7873,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.55,
        "mechanical": 97.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 161,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\field-checkbox.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 120,
      "functions": [
        {
          "name": "FieldCheckbox",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\(root)\\components\\input-group-textarea.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 332,
      "functions": [
        {
          "name": "InputGroupTextareaExample",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 22,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.07,
        "debug_artifacts": [
          "console.log line 22"
        ],
        "ai_smell_count": 1,
        "ai_smell_density": 0.021277,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.38,
        "mechanical": 86.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\blocks\\layout.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 519,
      "functions": [
        {
          "name": "BlocksLayout",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 49,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 59,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 71,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2838,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 80,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.0375,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.53,
        "mechanical": 82.53,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\action-menu.tsx",
      "language": "tsx",
      "line_count": 89,
      "token_estimate": 578,
      "functions": [
        {
          "name": "ActionMenu",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function ActionMenu is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2219,
          "ai_signals": []
        },
        {
          "name": "ActionMenuScript",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1385,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 67,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 34.5,
        "function_length_stddev": 10.61,
        "import_count": 4,
        "export_count": 3,
        "comment_lines": 1,
        "code_lines": 88,
        "comment_ratio": 0.0112,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.91,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011364,
        "structural_uniformity": 0.6926,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.81,
        "mechanical": 89.81,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\history-buttons.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 602,
      "functions": [
        {
          "name": "HistoryButtons",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 25,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4108,
          "ai_signals": [
            "High anti-pattern density (0.71)",
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "HistoryScript",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1608,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 47,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32.5,
        "function_length_stddev": 6.36,
        "import_count": 5,
        "export_count": 4,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.43,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.025316,
        "structural_uniformity": 0.8042,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.92,
        "mechanical": 86.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\picker.tsx",
      "language": "tsx",
      "line_count": 294,
      "token_estimate": 2331,
      "functions": [
        {
          "name": "Picker",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerTrigger",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerContent",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerGroup",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerLabel",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerItem",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerSub",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerSubTrigger",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerSubContent",
          "type": "function_declaration",
          "line_start": 149,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerCheckboxItem",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerRadioGroup",
          "type": "function_declaration",
          "line_start": 205,
          "line_end": 212,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerRadioItem",
          "type": "function_declaration",
          "line_start": 214,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerSeparator",
          "type": "function_declaration",
          "line_start": 248,
          "line_end": 262,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "PickerShortcut",
          "type": "function_declaration",
          "line_start": 264,
          "line_end": 275,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0595,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 16.87,
        "function_length_stddev": 11.85,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 294,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2975,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.94,
        "mechanical": 97.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\components\\random-button.tsx",
      "language": "tsx",
      "line_count": 74,
      "token_estimate": 560,
      "functions": [
        {
          "name": "RandomButton",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1185,
          "ai_signals": []
        },
        {
          "name": "RandomizeScript",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 36,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function RandomizeScript is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2106,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 4,
              "description": "Unused import: import { DiceFaces05Icon } from \"@hugeicons/core-free-icons\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'DiceFaces05Icon' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { DiceFaces05Icon } from \"@hugeicons/core-free-icons\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 5,
              "description": "Unused import: import { HugeiconsIcon } from \"@hugeicons/react\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'HugeiconsIcon' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { HugeiconsIcon } from \"@hugeicons/react\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 41,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 29.5,
        "function_length_stddev": 12.02,
        "import_count": 7,
        "export_count": 3,
        "comment_lines": 1,
        "code_lines": 73,
        "comment_ratio": 0.0135,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.52,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013699,
        "structural_uniformity": 0.5925,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 2
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.73,
        "mechanical": 90.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\hooks\\use-design-system.ts",
      "language": "typescript",
      "line_count": 12,
      "token_estimate": 89,
      "functions": [
        {
          "name": "usePresetCode",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 11,
        "comment_ratio": 0.0833,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\lib\\api.ts",
      "language": "typescript",
      "line_count": 73,
      "token_estimate": 457,
      "functions": [
        {
          "name": "getItemsForBase",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1192,
          "ai_signals": []
        },
        {
          "name": "getBaseItem",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1192,
          "ai_signals": []
        },
        {
          "name": "getBaseComponent",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1192,
          "ai_signals": []
        },
        {
          "name": "getAllItems",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 51,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 51,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4374,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 14,
        "function_length_stddev": 5.66,
        "import_count": 4,
        "export_count": 5,
        "comment_lines": 1,
        "code_lines": 72,
        "comment_ratio": 0.0137,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.71,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.027778,
        "structural_uniformity": 0.5959,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.48,
        "mechanical": 86.48,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\lib\\search-params.ts",
      "language": "typescript",
      "line_count": 310,
      "token_estimate": 2276,
      "functions": [
        {
          "name": "normalizeFontHeading",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0566,
          "ai_signals": []
        },
        {
          "name": "isTranslucentMenuColor",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 151,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0566,
          "ai_signals": []
        },
        {
          "name": "normalizePartialDesignSystemParams",
          "type": "function_declaration",
          "line_start": 153,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0566,
          "ai_signals": []
        },
        {
          "name": "normalizeDesignSystemParams",
          "type": "function_declaration",
          "line_start": 169,
          "line_end": 204,
          "metrics": {
            "cyclomatic_complexity": 9,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 169,
              "description": "Function is 36 lines (> 30 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 36 lines (> 30 dynamic threshold)",
                "impact": "Function normalizeDesignSystemParams is 36 lines \u2014 exceeds 30 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 184,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 188,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 184,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 188,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 184,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4066,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "resolvePresetParams",
          "type": "function_declaration",
          "line_start": 211,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 2,
            "parameter_count": 2,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0566,
          "ai_signals": []
        },
        {
          "name": "useDesignSystemSearchParams",
          "type": "function_declaration",
          "line_start": 238,
          "line_end": 309,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 72,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 238,
              "description": "Function is 72 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 72 lines (> 37 dynamic threshold)",
                "impact": "Function useDesignSystemSearchParams is 72 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 278,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 299,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 303,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 278,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 299,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 303,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 253,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 259,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.4066,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 26.83,
        "function_length_stddev": 24.6,
        "import_count": 9,
        "export_count": 5,
        "comment_lines": 20,
        "code_lines": 290,
        "comment_ratio": 0.0645,
        "comment_what_ratio": 0.2,
        "naming_avg_length": 8.77,
        "debug_artifacts": [],
        "ai_smell_count": 15,
        "ai_smell_density": 0.051724,
        "structural_uniformity": 0.0831,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.85,
        "mechanical": 72.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\docs\\layout.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 210,
      "functions": [
        {
          "name": "DocsLayout",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 20,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 15,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 15,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.35,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.115385,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.7,
        "mechanical": 71.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\dashboard\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 231,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 31,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1207,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.07,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.023256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.49,
        "mechanical": 88.49,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\playground\\components\\model-selector.tsx",
      "language": "tsx",
      "line_count": 164,
      "token_estimate": 1306,
      "functions": [
        {
          "name": "ModelSelector",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 38,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function ModelSelector is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 106,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 109,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 39,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2135,
          "ai_signals": []
        },
        {
          "name": "ModelItem",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 158,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 143,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2976,
          "ai_signals": [
            "High anti-pattern density (0.69)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 59,
        "function_length_stddev": 42.43,
        "import_count": 11,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 164,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.3,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.036585,
        "structural_uniformity": 0.2809,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.4,
        "mechanical": 72.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\playground\\data\\presets.ts",
      "language": "typescript",
      "line_count": 48,
      "token_estimate": 245,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.57,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\field-checkbox.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 230,
      "functions": [
        {
          "name": "FieldCheckbox",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 20,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 20,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.54,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.055556,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.46,
        "mechanical": 82.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\rtl\\components\\notion-prompt-form.tsx",
      "language": "tsx",
      "line_count": 517,
      "token_estimate": 4596,
      "functions": [
        {
          "name": "MentionableIcon",
          "type": "function_declaration",
          "line_start": 140,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 151,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        },
        {
          "name": "NotionPromptForm",
          "type": "function_declaration",
          "line_start": 157,
          "line_end": 516,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 360,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 3,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "console-log-production",
              "severity": "low",
              "line": 463,
              "description": "console.log left in production code",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "ast-grep-pattern",
                "proof": "console.log left in production code",
                "impact": "Debug logging at line 463 pollutes production output and may leak sensitive data",
                "recommendation": "Remove the console statement or replace with a structured logger",
                "confidence": 1.0,
                "fix_type": "deterministic",
                "references": [
                  "https://eslint.org/docs/latest/rules/no-console"
                ]
              }
            },
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 157,
              "description": "Function is 360 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 360 lines (> 37 dynamic threshold)",
                "impact": "Function NotionPromptForm is 360 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 264,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 281,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 311,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 449,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 467,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 224,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 476,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 162,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 211,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 224,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 476,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 159,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 204,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 205,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 209,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 438,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 451,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 463,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2042,
          "ai_signals": [
            "High anti-pattern density (0.58)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 188,
        "function_length_stddev": 243.24,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 517,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.37,
        "debug_artifacts": [
          "console.log line 463"
        ],
        "ai_smell_count": 22,
        "ai_smell_density": 0.042553,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.36,
        "mechanical": 67.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\tasks\\components\\data-table-row-actions.tsx",
      "language": "tsx",
      "line_count": 71,
      "token_estimate": 520,
      "functions": [
        {
          "name": "DataTableRowActions",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function DataTableRowActions is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0836,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 71,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.13,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014085,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.58,
        "mechanical": 86.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\examples\\tasks\\page.tsx",
      "language": "tsx",
      "line_count": 68,
      "token_estimate": 469,
      "functions": [
        {
          "name": "getTasks",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0211,
          "ai_signals": []
        },
        {
          "name": "TaskPage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 28,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function TaskPage is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 63,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 32,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 35,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 42,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3711,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 24.5,
        "function_length_stddev": 21.92,
        "import_count": 9,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 67,
        "comment_ratio": 0.0147,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.52,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.074627,
        "structural_uniformity": 0.1053,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.99,
        "mechanical": 76.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(create)\\init\\route.ts",
      "language": "typescript",
      "line_count": 56,
      "token_estimate": 395,
      "functions": [
        {
          "name": "GET",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 1
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 46 lines (> 30 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 30 dynamic threshold)",
                "impact": "Function GET is 46 lines \u2014 exceeds 30 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0761,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.79,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 61.24,
        "mechanical": 61.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\layout.tsx",
      "language": "tsx",
      "line_count": 118,
      "token_estimate": 952,
      "functions": [
        {
          "name": "RootLayout",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 69,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function RootLayout is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 77,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 77,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-script-tag-in-jsx",
              "severity": "high",
              "line": 77,
              "description": "Script tag used in JSX - React doesn't execute inline scripts, security risk and broken functionality",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2857,
          "ai_signals": [
            "High anti-pattern density (0.82)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 78,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 14,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 118,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.78,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.033898,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.83,
        "mechanical": 79.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\block-viewer.tsx",
      "language": "tsx",
      "line_count": 514,
      "token_estimate": 3971,
      "functions": [
        {
          "name": "useBlockViewer",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0779,
          "ai_signals": []
        },
        {
          "name": "BlockViewerProvider",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 92,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function BlockViewerProvider is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 127,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 127,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 128,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 105,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4279,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "BlockViewerToolbar",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 93,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 146,
              "description": "Function is 93 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 93 lines (> 37 dynamic threshold)",
                "impact": "Function BlockViewerToolbar is 93 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 234,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 155,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 155,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 163,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 167,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 176,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 199,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.379,
          "ai_signals": [
            "High anti-pattern density (0.86)"
          ]
        },
        {
          "name": "BlockViewerIframe",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 261,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 250,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-insecure-iframe",
              "severity": "high",
              "line": 250,
              "description": "iframe with sandbox attribute missing or too permissive - allows embedded content to execute scripts, navigate parent, or access cookies",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 253,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4279,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "BlockViewerView",
          "type": "function_declaration",
          "line_start": 263,
          "line_end": 288,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 280,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2125,
          "ai_signals": []
        },
        {
          "name": "BlockViewerMobile",
          "type": "function_declaration",
          "line_start": 290,
          "line_end": 327,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 290,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function BlockViewerMobile is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 307,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 315,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 307,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 315,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 303,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 308,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 316,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4279,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "BlockViewerCode",
          "type": "function_declaration",
          "line_start": 329,
          "line_end": 369,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 329,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function BlockViewerCode is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 361,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 333,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 362,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 363,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4279,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "BlockViewerFileTree",
          "type": "function_declaration",
          "line_start": 371,
          "line_end": 396,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 388,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2125,
          "ai_signals": []
        },
        {
          "name": "Tree",
          "type": "function_declaration",
          "line_start": 398,
          "line_end": 453,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 398,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function Tree is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 446,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 410,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 433,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 410,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 433,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4279,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "BlockCopyCodeButton",
          "type": "function_declaration",
          "line_start": 455,
          "line_end": 488,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 460,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 463,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2838,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        },
        {
          "name": "BlockViewer",
          "type": "function_declaration",
          "line_start": 490,
          "line_end": 511,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 505,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 506,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3961,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 363,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 11,
        "avg_function_length": 37.27,
        "function_length_stddev": 22.76,
        "import_count": 21,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 514,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.33,
        "debug_artifacts": [],
        "ai_smell_count": 42,
        "ai_smell_density": 0.081712,
        "structural_uniformity": 0.3895,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 67.02,
        "mechanical": 67.02,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\exercise-minutes.tsx",
      "language": "tsx",
      "line_count": 130,
      "token_estimate": 666,
      "functions": [
        {
          "name": "CardsExerciseMinutes",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 62,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 68,
              "description": "Function is 62 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 62 lines (> 37 dynamic threshold)",
                "impact": "Function CardsExerciseMinutes is 62 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 89,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 123,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1694,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 62,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 130,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.22,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.023077,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.23,
        "mechanical": 79.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\cards\\team-members.tsx",
      "language": "tsx",
      "line_count": 143,
      "token_estimate": 951,
      "functions": [
        {
          "name": "CardsTeamMembers",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 63,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 80,
              "description": "Function is 63 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 63 lines (> 37 dynamic threshold)",
                "impact": "Function CardsTeamMembers is 63 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1111,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 63,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 143,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.01,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.013986,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.5,
        "mechanical": 81.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\code-collapsible-wrapper.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 424,
      "functions": [
        {
          "name": "CodeCollapsibleWrapper",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CodeCollapsibleWrapper is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 19,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1842,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.038462,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.98,
        "mechanical": 76.98,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\component-preview.tsx",
      "language": "tsx",
      "line_count": 128,
      "token_estimate": 843,
      "functions": [
        {
          "name": "ComponentPreview",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 127,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 120,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 120 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 120 lines (> 37 dynamic threshold)",
                "impact": "Function ComponentPreview is 120 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 42,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 84,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 91,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 98,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-insecure-iframe",
              "severity": "high",
              "line": 50,
              "description": "iframe with sandbox attribute missing or too permissive - allows embedded content to execute scripts, navigate parent, or access cookies",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 35,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 42,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 36,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 43,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 120,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 128,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.84,
        "debug_artifacts": [],
        "ai_smell_count": 12,
        "ai_smell_density": 0.09375,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 45.56,
        "mechanical": 45.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\docs-breadcrumb.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 417,
      "functions": [
        {
          "name": "DocsBreadcrumb",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function DocsBreadcrumb is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 35,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 48,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.08,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.030303,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.52,
        "mechanical": 75.52,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\language-selector.tsx",
      "language": "tsx",
      "line_count": 126,
      "token_estimate": 726,
      "functions": [
        {
          "name": "LanguageProvider",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 55,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2654,
          "ai_signals": [
            "High anti-pattern density (0.67)"
          ]
        },
        {
          "name": "useLanguageContext",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.032,
          "ai_signals": []
        },
        {
          "name": "useTranslation",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 74,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.382,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "LanguageSelector",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 86,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function LanguageSelector is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 99,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 115,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 99,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 115,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.382,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 15.33,
        "import_count": 3,
        "export_count": 9,
        "comment_lines": 0,
        "code_lines": 126,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.42,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.063492,
        "structural_uniformity": 0.1602,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.4,
        "mechanical": 80.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\page-header.tsx",
      "language": "tsx",
      "line_count": 62,
      "token_estimate": 348,
      "functions": [
        {
          "name": "PageHeader",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1743,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.87)"
          ]
        },
        {
          "name": "PageHeaderHeading",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4243,
          "ai_signals": [
            "High anti-pattern density (0.71)",
            "Suspiciously uniform function lengths (0.87)"
          ]
        },
        {
          "name": "PageHeaderDescription",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 39,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4243,
          "ai_signals": [
            "High anti-pattern density (0.71)",
            "Suspiciously uniform function lengths (0.87)"
          ]
        },
        {
          "name": "PageActions",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 51,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4925,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.87)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.5,
        "function_length_stddev": 1.73,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 62,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.81,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.048387,
        "structural_uniformity": 0.8717,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.85,
        "mechanical": 86.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\components\\theme-provider.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 326,
      "functions": [
        {
          "name": "ThemeShortcut",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 9,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2379,
          "ai_signals": []
        },
        {
          "name": "ThemeProvider",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.125,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 24.5,
        "function_length_stddev": 9.19,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.62,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.6248,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.19,
        "mechanical": 91.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\accordion-disabled.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 326,
      "functions": [
        {
          "name": "AccordionDisabled",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.98,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\alert-dialog-basic.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 262,
      "functions": [
        {
          "name": "AlertDialogBasic",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1664,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.44,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.027778,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.46,
        "mechanical": 89.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\aspect-ratio-demo.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 108,
      "functions": [
        {
          "name": "AspectRatioDemo",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.29,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\avatar-dropdown.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 299,
      "functions": [
        {
          "name": "AvatarDropdown",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 25,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.87,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.023256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.69,
        "mechanical": 89.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\badge-icon.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 111,
      "functions": [
        {
          "name": "BadgeWithIconLeft",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\breadcrumb-ellipsis.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 234,
      "functions": [
        {
          "name": "BreadcrumbEllipsisDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 18,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 26,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.303,
          "ai_signals": [
            "High anti-pattern density (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.38,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.052632,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.34,
        "mechanical": 82.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-group-demo.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 877,
      "functions": [
        {
          "name": "ButtonGroupDemo",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 85,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 32,
              "description": "Function is 85 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 85 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupDemo is 85 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 33,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.091,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 85,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.52,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.017094,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.73,
        "mechanical": 80.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-group-select.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 395,
      "functions": [
        {
          "name": "ButtonGroupSelect",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 32,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 32,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 24,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.053571,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.71,
        "mechanical": 79.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\button-rounded.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 93,
      "functions": [
        {
          "name": "ButtonRounded",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.13,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\calendar-caption.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 58,
      "functions": [
        {
          "name": "CalendarCaption",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\calendar-time.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 533,
      "functions": [
        {
          "name": "CalendarWithTime",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 52,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 52 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 52 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarWithTime is 52 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0673,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 52,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.67,
        "mechanical": 83.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\carousel-multiple.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 253,
      "functions": [
        {
          "name": "CarouselMultiple",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\chart-example-grid.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 261,
      "functions": [
        {
          "name": "ChartBarDemoGrid",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 31,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3182,
          "ai_signals": [
            "High anti-pattern density (0.91)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.026316,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.12,
        "mechanical": 93.12,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\checkbox-description.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 194,
      "functions": [
        {
          "name": "CheckboxDescription",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.67,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\collapsible-file-tree.tsx",
      "language": "tsx",
      "line_count": 123,
      "token_estimate": 844,
      "functions": [
        {
          "name": "CollapsibleFileTree",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 109,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 109 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 109 lines (> 37 dynamic threshold)",
                "impact": "Function CollapsibleFileTree is 109 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0321,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 109,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 123,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.00813,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.97,
        "mechanical": 82.97,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\combobox-disabled.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 178,
      "functions": [
        {
          "name": "ComboboxDisabled",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\command-demo.tsx",
      "language": "tsx",
      "line_count": 63,
      "token_estimate": 382,
      "functions": [
        {
          "name": "CommandDemo",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function CommandDemo is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 42,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 63,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.76,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.015873,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.43,
        "mechanical": 86.43,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\context-menu-demo.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 724,
      "functions": [
        {
          "name": "ContextMenuDemo",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuDemo is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0795,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.54,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012048,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.99,
        "mechanical": 81.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\context-menu-submenu.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 474,
      "functions": [
        {
          "name": "ContextMenuSubmenu",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 44,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 44 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 44 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuSubmenu is 44 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0934,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 44,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.83,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017241,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.49,
        "mechanical": 85.49,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\date-picker-natural-language.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 709,
      "functions": [
        {
          "name": "formatDate",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DatePickerNaturalLanguage",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 71,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 33,
              "description": "Function is 71 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 71 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerNaturalLanguage is 71 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 34,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 35,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1479,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 41,
        "function_length_stddev": 42.43,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.028846,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.49,
        "mechanical": 79.49,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dialog-scrollable-content.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 361,
      "functions": [
        {
          "name": "DialogScrollableContent",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.0,
        "mechanical": 94.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dropdown-menu-basic.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 252,
      "functions": [
        {
          "name": "DropdownMenuBasic",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0307,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.84,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\dropdown-menu-radio-icons.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 366,
      "functions": [
        {
          "name": "DropdownMenuRadioIcons",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 18,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1214,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.92,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.1,
        "mechanical": 88.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\empty-demo.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 278,
      "functions": [
        {
          "name": "EmptyDemo",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\field-group.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 421,
      "functions": [
        {
          "name": "FieldGroupExample",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function FieldGroupExample is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0814,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.44,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.018519,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.47,
        "mechanical": 85.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\field-textarea.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 169,
      "functions": [
        {
          "name": "FieldTextarea",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-demo.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 116,
      "functions": [
        {
          "name": "InputDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-block-end.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 361,
      "functions": [
        {
          "name": "InputGroupBlockEnd",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-in-card.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 616,
      "functions": [
        {
          "name": "InputGroupInCard",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 58,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 58 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 58 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupInCard is 58 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0603,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 13,
              "description": "Unused import: import { Input } from \"@/styles/base-nova/ui/input\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Input' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Input } from \"@/styles/base-nova/ui/input\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 58,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 80,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.9,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.0125,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.47,
        "mechanical": 82.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-group-textarea-examples.tsx",
      "language": "tsx",
      "line_count": 157,
      "token_estimate": 1255,
      "functions": [
        {
          "name": "InputGroupTextareaExamples",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 132,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 132 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 132 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupTextareaExamples is 132 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 133,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.053,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 15,
              "description": "Unused import: import { Input } from \"@/styles/base-nova/ui/input\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Input' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Input } from \"@/styles/base-nova/ui/input\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 132,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 157,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.92,
        "debug_artifacts": [
          "console.log line 133"
        ],
        "ai_smell_count": 2,
        "ai_smell_density": 0.012739,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.82,
        "mechanical": 79.82,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-input-group.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 172,
      "functions": [
        {
          "name": "InputInputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 16,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.2,
        "mechanical": 98.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\input-otp-invalid.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 207,
      "functions": [
        {
          "name": "InputOTPInvalid",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 19,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 28,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 29,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 13,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.12,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.205882,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.4,
        "mechanical": 71.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\item-dropdown.tsx",
      "language": "tsx",
      "line_count": 75,
      "token_estimate": 499,
      "functions": [
        {
          "name": "ItemDropdown",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 57,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 75,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.82,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.37,
        "mechanical": 90.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\item-variant.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 308,
      "functions": [
        {
          "name": "ItemVariant",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function ItemVariant is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.61,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.3,
        "mechanical": 86.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\label-rtl.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 209,
      "functions": [
        {
          "name": "LabelRtl",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.6,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\native-select-demo.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 137,
      "functions": [
        {
          "name": "NativeSelectDemo",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0062,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\pagination-demo.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 236,
      "functions": [
        {
          "name": "PaginationDemo",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0377,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 12.26,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.6,
        "mechanical": 94.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\popover-rtl.tsx",
      "language": "tsx",
      "line_count": 100,
      "token_estimate": 649,
      "functions": [
        {
          "name": "PopoverRtl",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 62,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function PopoverRtl is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0921,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 100,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.01,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.1,
        "mechanical": 89.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\radio-group-description.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 319,
      "functions": [
        {
          "name": "RadioGroupDescription",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.6,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\resizable-vertical.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 187,
      "functions": [
        {
          "name": "ResizableVertical",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.98,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\select-invalid.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 252,
      "functions": [
        {
          "name": "SelectInvalid",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sheet-demo.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 348,
      "functions": [
        {
          "name": "SheetDemo",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.39,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-group-collapsible.tsx",
      "language": "tsx",
      "line_count": 61,
      "token_estimate": 448,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0984,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 61,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.52,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.016393,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.2,
        "mechanical": 87.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sidebar-rsc.tsx",
      "language": "tsx",
      "line_count": 109,
      "token_estimate": 530,
      "functions": [
        {
          "name": "fetchProjects",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0981,
          "ai_signals": []
        },
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0981,
          "ai_signals": []
        },
        {
          "name": "NavProjectsSkeleton",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0981,
          "ai_signals": []
        },
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 100,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3169,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.25,
        "function_length_stddev": 6.24,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 108,
        "comment_ratio": 0.0092,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.63,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009259,
        "structural_uniformity": 0.4907,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.01,
        "mechanical": 97.01,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\skeleton-text.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 75,
      "functions": [
        {
          "name": "SkeletonText",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\sonner-demo.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 118,
      "functions": [
        {
          "name": "SonnerDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "console-log-production",
              "severity": "low",
              "line": 16,
              "description": "console.log left in production code",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "ast-grep-pattern",
                "proof": "console.log left in production code",
                "impact": "Debug logging at line 16 pollutes production output and may leak sensitive data",
                "recommendation": "Remove the console statement or replace with a structured logger",
                "confidence": 1.0,
                "fix_type": "deterministic",
                "references": [
                  "https://eslint.org/docs/latest/rules/no-console"
                ]
              }
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 16,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.72,
        "debug_artifacts": [
          "console.log line 16"
        ],
        "ai_smell_count": 2,
        "ai_smell_density": 0.08,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.6,
        "mechanical": 75.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\spinner-empty.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 193,
      "functions": [
        {
          "name": "SpinnerEmpty",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\switch-invalid.tsx",
      "language": "tsx",
      "line_count": 24,
      "token_estimate": 152,
      "functions": [
        {
          "name": "SwitchInvalid",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 24,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\tabs-disabled.tsx",
      "language": "tsx",
      "line_count": 15,
      "token_estimate": 86,
      "functions": [
        {
          "name": "TabsDisabled",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 15,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.16,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\textarea-field.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 109,
      "functions": [
        {
          "name": "TextareaField",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.47,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-group-outline.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 106,
      "functions": [
        {
          "name": "ToggleGroupOutline",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.72,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\toggle-text.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 58,
      "functions": [
        {
          "name": "ToggleText",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.24,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-h1.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 51,
      "functions": [
        {
          "name": "TypographyH1",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\base\\typography-muted.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 33,
      "functions": [
        {
          "name": "TypographyMuted",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\accordion-demo.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 320,
      "functions": [
        {
          "name": "AccordionDemo",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.26,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\alert-destructive.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 123,
      "functions": [
        {
          "name": "AlertDestructive",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\alert-rtl.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 537,
      "functions": [
        {
          "name": "AlertRtl",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\avatar-demo.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 352,
      "functions": [
        {
          "name": "AvatarDemo",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 10,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function AvatarDemo is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 15,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 23,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 31,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 36,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 43,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.113208,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 65.1,
        "mechanical": 65.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\badge-demo.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 91,
      "functions": [
        {
          "name": "BadgeDemo",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\breadcrumb-dropdown.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 413,
      "functions": [
        {
          "name": "BreadcrumbDropdown",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function BreadcrumbDropdown is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 26,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1977,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.09,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033898,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.83,
        "mechanical": 82.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-destructive.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 41,
      "functions": [
        {
          "name": "ButtonDestructive",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.73,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-group-popover.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 407,
      "functions": [
        {
          "name": "ButtonGroupPopover",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.9,
        "mechanical": 91.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\button-outline.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 38,
      "functions": [
        {
          "name": "ButtonOutline",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.64,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\calendar-booked-dates.tsx",
      "language": "tsx",
      "line_count": 38,
      "token_estimate": 238,
      "functions": [
        {
          "name": "CalendarBookedDates",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 4,
              "description": "Unused import: import { es } from \"react-day-picker/locale\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'es' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { es } from \"react-day-picker/locale\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 38,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\calendar-rtl.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 239,
      "functions": [
        {
          "name": "CalendarRtl",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 45,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 45,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.29,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.04,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.1,
        "mechanical": 85.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\carousel-demo.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 222,
      "functions": [
        {
          "name": "CarouselDemo",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.21,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\chart-example-axis.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 310,
      "functions": [
        {
          "name": "ChartBarDemoAxis",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 31,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1944,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.92,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.04,
        "mechanical": 92.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\checkbox-demo.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 413,
      "functions": [
        {
          "name": "CheckboxDemo",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxDemo is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0875,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.53,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.018519,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.37,
        "mechanical": 86.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\collapsible-demo.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 406,
      "functions": [
        {
          "name": "CollapsibleDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 14,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.7,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.29,
        "mechanical": 87.29,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\combobox-demo.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 177,
      "functions": [
        {
          "name": "ComboboxBasic",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\command-basic.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 262,
      "functions": [
        {
          "name": "CommandBasic",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.025,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.55,
        "mechanical": 89.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\context-menu-checkboxes.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 264,
      "functions": [
        {
          "name": "ContextMenuCheckboxes",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.23,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\context-menu-sides.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 799,
      "functions": [
        {
          "name": "ContextMenuSides",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 74,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 9,
              "description": "Function is 74 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 74 lines (> 37 dynamic threshold)",
                "impact": "Function ContextMenuSides is 74 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0473,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 74,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.95,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012048,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.99,
        "mechanical": 81.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\date-picker-input.tsx",
      "language": "tsx",
      "line_count": 107,
      "token_estimate": 708,
      "functions": [
        {
          "name": "formatDate",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "isValidDate",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 6,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "DatePickerInput",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function DatePickerInput is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 40,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 45,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1544,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 28.33,
        "function_length_stddev": 34.44,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 107,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.028037,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.83,
        "mechanical": 83.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dialog-rtl.tsx",
      "language": "tsx",
      "line_count": 102,
      "token_estimate": 692,
      "functions": [
        {
          "name": "DialogRtl",
          "type": "function_declaration",
          "line_start": 63,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 63,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function DialogRtl is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 102,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.1,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009804,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.6,
        "mechanical": 87.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dropdown-menu-avatar.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 356,
      "functions": [
        {
          "name": "DropdownMenuAvatar",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 29,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.89,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017241,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.19,
        "mechanical": 88.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\dropdown-menu-radio-group.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 283,
      "functions": [
        {
          "name": "DropdownMenuRadioGroupDemo",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 17,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1843,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.06,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.027027,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.94,
        "mechanical": 89.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\empty-card.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 270,
      "functions": [
        {
          "name": "EmptyInCard",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\field-fieldset.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 262,
      "functions": [
        {
          "name": "FieldFieldset",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.77,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\field-switch.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 86,
      "functions": [
        {
          "name": "FieldSwitch",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-button-group.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 137,
      "functions": [
        {
          "name": "InputButtonGroup",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.47,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-basic.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 335,
      "functions": [
        {
          "name": "InputGroupBasic",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 5,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupBasic is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0921,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.43,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.023256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.79,
        "mechanical": 85.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-icon.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 294,
      "functions": [
        {
          "name": "InputGroupIcon",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-group-text.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 361,
      "functions": [
        {
          "name": "InputGroupTextExample",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 9,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupTextExample is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0921,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.41,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.021277,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.28,
        "mechanical": 86.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-inline.tsx",
      "language": "tsx",
      "line_count": 13,
      "token_estimate": 86,
      "functions": [
        {
          "name": "InputInline",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 13,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\input-otp-four-digits.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 118,
      "functions": [
        {
          "name": "InputOTPFourDigits",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 15,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 16,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 18,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.72,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.173913,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.4,
        "mechanical": 74.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\item-demo.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 287,
      "functions": [
        {
          "name": "ItemDemo",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\item-size.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 302,
      "functions": [
        {
          "name": "ItemSizeDemo",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.08,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\label-demo.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 76,
      "functions": [
        {
          "name": "LabelDemo",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\muted-item-group.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 316,
      "functions": [
        {
          "name": "MutedItemGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function MutedItemGroup is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.48,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.3,
        "mechanical": 86.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\outline-item-group.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 272,
      "functions": [
        {
          "name": "OutlineItemGroup",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.68,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\popover-form.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 329,
      "functions": [
        {
          "name": "PopoverForm",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\radio-group-demo.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 185,
      "functions": [
        {
          "name": "RadioGroupDemo",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.54,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\resizable-rtl.tsx",
      "language": "tsx",
      "line_count": 75,
      "token_estimate": 444,
      "functions": [
        {
          "name": "ResizableRtl",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 75,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\select-groups.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 245,
      "functions": [
        {
          "name": "SelectGroups",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.76,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\separator-vertical.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 85,
      "functions": [
        {
          "name": "SeparatorVertical",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-group-action.tsx",
      "language": "tsx",
      "line_count": 72,
      "token_estimate": 515,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.066,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 72,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.54,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.013889,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.63,
        "mechanical": 83.63,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\sidebar-menu.tsx",
      "language": "tsx",
      "line_count": 78,
      "token_estimate": 382,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 63,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1296,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 78,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.55,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012821,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.69,
        "mechanical": 91.69,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\skeleton-table.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 110,
      "functions": [
        {
          "name": "SkeletonTable",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.1,
        "mechanical": 99.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\slider-vertical.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 122,
      "functions": [
        {
          "name": "SliderVertical",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 6,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 13,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.086957,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.26,
        "mechanical": 75.26,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\spinner-demo.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 165,
      "functions": [
        {
          "name": "SpinnerDemo",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.32,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\switch-disabled.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 97,
      "functions": [
        {
          "name": "SwitchDisabled",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.26,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\tabs-demo.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 665,
      "functions": [
        {
          "name": "TabsDemo",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function TabsDemo is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0515,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 68,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.49,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012048,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.99,
        "mechanical": 81.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\textarea-disabled.tsx",
      "language": "tsx",
      "line_count": 16,
      "token_estimate": 101,
      "functions": [
        {
          "name": "TextareaDisabled",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 16,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.07,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-group-font-weight-selector.tsx",
      "language": "tsx",
      "line_count": 71,
      "token_estimate": 555,
      "functions": [
        {
          "name": "ToggleGroupFontWeightSelector",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleGroupFontWeightSelector is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 16,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.125,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 56,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 71,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.028169,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.16,
        "mechanical": 79.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\toggle-sizes.tsx",
      "language": "tsx",
      "line_count": 18,
      "token_estimate": 119,
      "functions": [
        {
          "name": "ToggleSizes",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 18,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-demo.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 1377,
      "functions": [
        {
          "name": "TypographyDemo",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 1,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function TypographyDemo is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-table-missing-caption",
              "severity": "medium",
              "line": 69,
              "description": "Data table without caption or aria-label - screen reader users cannot understand the table's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0588,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.17,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.016667,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.83,
        "mechanical": 80.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\examples\\radix\\typography-list.tsx",
      "language": "tsx",
      "line_count": 10,
      "token_estimate": 66,
      "functions": [
        {
          "name": "TypographyList",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 10,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\hooks\\use-copy-to-clipboard.ts",
      "language": "typescript",
      "line_count": 81,
      "token_estimate": 383,
      "functions": [
        {
          "name": "legacyCopyToClipboard",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 1
          },
          "anti_patterns": [
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 14,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2428,
          "ai_signals": []
        },
        {
          "name": "useCopyToClipboard",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 52,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 29,
              "description": "Function is 52 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 52 lines (> 37 dynamic threshold)",
                "impact": "Function useCopyToClipboard is 52 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 49,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 30,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 36,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3599,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 37.5,
        "function_length_stddev": 20.51,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 81,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.32,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.061728,
        "structural_uniformity": 0.4532,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.57,
        "mechanical": 73.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\blocks.ts",
      "language": "typescript",
      "line_count": 73,
      "token_estimate": 524,
      "functions": [
        {
          "name": "getAllBlockIds",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0159,
          "ai_signals": []
        },
        {
          "name": "getAllBlocks",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 72,
          "metrics": {
            "cyclomatic_complexity": 7,
            "max_nesting_depth": 2,
            "parameter_count": 2,
            "line_count": 52,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 52 lines (> 30 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 52 lines (> 30 dynamic threshold)",
                "impact": "Function getAllBlocks is 52 lines \u2014 exceeds 30 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 69,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1505,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 31.5,
        "function_length_stddev": 28.99,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 72,
        "comment_ratio": 0.0137,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.48,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.027778,
        "structural_uniformity": 0.0796,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.11,
        "mechanical": 76.11,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\flags.ts",
      "language": "typescript",
      "line_count": 2,
      "token_estimate": 8,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 2,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\lib\\registry.ts",
      "language": "typescript",
      "line_count": 333,
      "token_estimate": 2044,
      "functions": [
        {
          "name": "getBaseForStyle",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0302,
          "ai_signals": []
        },
        {
          "name": "getDemoIndexKey",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0302,
          "ai_signals": []
        },
        {
          "name": "getBaseIndex",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0302,
          "ai_signals": []
        },
        {
          "name": "getStyleIndex",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0302,
          "ai_signals": []
        },
        {
          "name": "getMergedIndexForStyle",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 61,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0302,
          "ai_signals": []
        },
        {
          "name": "getRegistryEntry",
          "type": "function_declaration",
          "line_start": 63,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0302,
          "ai_signals": []
        },
        {
          "name": "getDemoComponent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 4,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 69,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3802,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "getDemoItem",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0302,
          "ai_signals": []
        },
        {
          "name": "getRegistryComponent",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 100,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3802,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "getRegistryItems",
          "type": "function_declaration",
          "line_start": 103,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "redundant-return-await",
              "severity": "low",
              "line": 117,
              "description": "return await where await is unnecessary",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "ast-grep-pattern",
                "proof": "return await where await is unnecessary",
                "impact": "Redundant await at line 117 adds an unnecessary microtask tick",
                "recommendation": "Remove the await keyword \u2014 the async function already wraps the return in a Promise",
                "confidence": 1.0,
                "fix_type": "deterministic",
                "references": [
                  "https://eslint.org/docs/latest/rules/no-return-await"
                ]
              }
            }
          ],
          "ai_confidence": 0.1969,
          "ai_signals": []
        },
        {
          "name": "getRegistryItem",
          "type": "function_declaration",
          "line_start": 125,
          "line_end": 188,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 64,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 125,
              "description": "Function is 64 lines (> 30 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 64 lines (> 30 dynamic threshold)",
                "impact": "Function getRegistryItem is 64 lines \u2014 exceeds 30 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-console-log-production",
              "severity": "low",
              "line": 179,
              "description": "console.log, console.warn, or console.error left in production code - leaks sensitive info, clutters browser console",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1396,
          "ai_signals": []
        },
        {
          "name": "getFileContent",
          "type": "function_declaration",
          "line_start": 190,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0302,
          "ai_signals": []
        },
        {
          "name": "getFileTarget",
          "type": "function_declaration",
          "line_start": 205,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 10,
            "max_nesting_depth": 2,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0302,
          "ai_signals": []
        },
        {
          "name": "fixFilePaths",
          "type": "function_declaration",
          "line_start": 234,
          "line_end": 250,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0302,
          "ai_signals": []
        },
        {
          "name": "fixImport",
          "type": "function_declaration",
          "line_start": 252,
          "line_end": 286,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 264,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1302,
          "ai_signals": []
        },
        {
          "name": "createFileTreeForRegistryItemFiles",
          "type": "function_declaration",
          "line_start": 294,
          "line_end": 332,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 4,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 2,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "non-null-assertion",
              "severity": "medium",
              "line": 315,
              "description": "Non-null assertion (!) instead of proper null handling",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "ast-walk",
                "proof": "Non-null assertion (!) instead of proper null handling",
                "impact": "Non-null assertion at line 315 bypasses null checks \u2014 may cause runtime errors",
                "recommendation": "Use optional chaining (?.) or an explicit null check instead",
                "confidence": 1.0,
                "fix_type": "cataloged_refactor",
                "references": [
                  "https://typescript-eslint.io/rules/no-non-null-assertion/"
                ]
              }
            },
            {
              "id": "non-null-assertion",
              "severity": "medium",
              "line": 325,
              "description": "Non-null assertion (!) instead of proper null handling",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "ast-walk",
                "proof": "Non-null assertion (!) instead of proper null handling",
                "impact": "Non-null assertion at line 325 bypasses null checks \u2014 may cause runtime errors",
                "recommendation": "Use optional chaining (?.) or an explicit null check instead",
                "confidence": 1.0,
                "fix_type": "cataloged_refactor",
                "references": [
                  "https://typescript-eslint.io/rules/no-non-null-assertion/"
                ]
              }
            },
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 294,
              "description": "Function is 39 lines (> 30 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 30 dynamic threshold)",
                "impact": "Function createFileTreeForRegistryItemFiles is 39 lines \u2014 exceeds 30 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2994,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 18.19,
        "function_length_stddev": 16.58,
        "import_count": 10,
        "export_count": 8,
        "comment_lines": 16,
        "code_lines": 317,
        "comment_ratio": 0.048,
        "comment_what_ratio": 0.0625,
        "naming_avg_length": 7.08,
        "debug_artifacts": [
          "console.error line 179"
        ],
        "ai_smell_count": 9,
        "ai_smell_density": 0.028391,
        "structural_uniformity": 0.0885,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.66,
        "mechanical": 79.66,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\_registry.ts",
      "language": "typescript",
      "line_count": 910,
      "token_estimate": 5669,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 910,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\dashboard-01\\components\\section-cards.tsx",
      "language": "tsx",
      "line_count": 160,
      "token_estimate": 1397,
      "functions": [
        {
          "name": "SectionCards",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 146,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 14,
              "description": "Function is 146 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 146 lines (> 37 dynamic threshold)",
                "impact": "Function SectionCards is 146 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.024,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 146,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 160,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.32,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.00625,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.44,
        "mechanical": 83.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\login-03\\page.tsx",
      "language": "tsx",
      "line_count": 28,
      "token_estimate": 241,
      "functions": [
        {
          "name": "LoginPage",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.31,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\catalog-toolbar.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 351,
      "functions": [
        {
          "name": "CatalogToolbar",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.1,
        "mechanical": 93.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\faq.tsx",
      "language": "tsx",
      "line_count": 125,
      "token_estimate": 976,
      "functions": [
        {
          "name": "QuestionList",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0848,
          "ai_signals": []
        },
        {
          "name": "Faq",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 124,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 87,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function Faq is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 104,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 107,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 110,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4348,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 10,
              "description": "Unused import: import {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/base/ui/card\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CardDescription' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/base/ui/card\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 10,
              "description": "Unused import: import {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/base/ui/card\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CardHeader' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/base/ui/card\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 10,
              "description": "Unused import: import {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/base/ui/card\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'CardTitle' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/registry/bases/base/ui/card\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 27,
        "function_length_stddev": 15.56,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 125,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.65,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.032,
        "structural_uniformity": 0.4238,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 3
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.9,
        "mechanical": 86.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\payout-threshold.tsx",
      "language": "tsx",
      "line_count": 123,
      "token_estimate": 907,
      "functions": [
        {
          "name": "PayoutThreshold",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 83,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 40,
              "description": "Function is 83 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 83 lines (> 37 dynamic threshold)",
                "impact": "Function PayoutThreshold is 83 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 41,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0843,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 83,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 123,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.99,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.01626,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.94,
        "mechanical": 80.94,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\cards\\savings-progress.tsx",
      "language": "tsx",
      "line_count": 107,
      "token_estimate": 834,
      "functions": [
        {
          "name": "SavingsProgress",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 30,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function SavingsProgress is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 39,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 53,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1364,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 77,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 107,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.58,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.028037,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.99,
        "mechanical": 77.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview-02\\index.tsx",
      "language": "tsx",
      "line_count": 99,
      "token_estimate": 1446,
      "functions": [
        {
          "name": "Preview02Example",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 64,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 35,
              "description": "Function is 64 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 64 lines (> 37 dynamic threshold)",
                "impact": "Function Preview02Example is 64 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0547,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 64,
        "function_length_stddev": 0.0,
        "import_count": 33,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 99,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.73,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.010101,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.47,
        "mechanical": 82.47,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\codespaces-card.tsx",
      "language": "tsx",
      "line_count": 391,
      "token_estimate": 3682,
      "functions": [
        {
          "name": "CodespacesCard",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 390,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 335,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 335 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 335 lines (> 37 dynamic threshold)",
                "impact": "Function CodespacesCard is 335 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 57,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0209,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 335,
        "function_length_stddev": 0.0,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 391,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.27,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.005115,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.22,
        "mechanical": 81.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\invite-team.tsx",
      "language": "tsx",
      "line_count": 108,
      "token_estimate": 855,
      "functions": [
        {
          "name": "InviteTeam",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 31,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function InviteTeam is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 45,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0909,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 77,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 108,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.15,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.018519,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.37,
        "mechanical": 80.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\shipping-address.tsx",
      "language": "tsx",
      "line_count": 116,
      "token_estimate": 988,
      "functions": [
        {
          "name": "ShippingAddress",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 92,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 92 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 92 lines (> 37 dynamic threshold)",
                "impact": "Function ShippingAddress is 92 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.038,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 92,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 116,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.3,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008621,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.84,
        "mechanical": 82.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\preview\\cards\\visitors.tsx",
      "language": "tsx",
      "line_count": 92,
      "token_estimate": 621,
      "functions": [
        {
          "name": "Visitors",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 46,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function Visitors is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1522,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 92,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.21,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021739,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.52,
        "mechanical": 82.52,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-02\\components\\search-form.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 270,
      "functions": [
        {
          "name": "SearchForm",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-05\\components\\search-form.tsx",
      "language": "tsx",
      "line_count": 37,
      "token_estimate": 270,
      "functions": [
        {
          "name": "SearchForm",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 37,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-07\\components\\nav-projects.tsx",
      "language": "tsx",
      "line_count": 119,
      "token_estimate": 962,
      "functions": [
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 98,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 98 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 98 lines (> 37 dynamic threshold)",
                "impact": "Function NavProjects is 98 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 37,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 98,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 119,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.36,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.016807,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.8,
        "mechanical": 80.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-08\\components\\nav-user.tsx",
      "language": "tsx",
      "line_count": 144,
      "token_estimate": 1160,
      "functions": [
        {
          "name": "NavUser",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function NavUser is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 45,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 71,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0882,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 119,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 144,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.02,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.020833,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.54,
        "mechanical": 78.54,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-10\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 160,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 25,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1346,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.95,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.028571,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.06,
        "mechanical": 88.06,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-12\\components\\calendars.tsx",
      "language": "tsx",
      "line_count": 86,
      "token_estimate": 751,
      "functions": [
        {
          "name": "Calendars",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function Calendars is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 30,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1077,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 86,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.18,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.023256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.19,
        "mechanical": 79.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-15\\components\\calendars.tsx",
      "language": "tsx",
      "line_count": 86,
      "token_estimate": 751,
      "functions": [
        {
          "name": "Calendars",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function Calendars is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 30,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1077,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 86,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.18,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.023256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.19,
        "mechanical": 79.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-15\\components\\sidebar-right.tsx",
      "language": "tsx",
      "line_count": 80,
      "token_estimate": 505,
      "functions": [
        {
          "name": "SidebarRight",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 59,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1944,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 8,
              "description": "Unused import: import {\n  Sidebar,\n  SidebarContent,\n  SidebarFooter,\n  SidebarHeader,\n  SidebarMenu,\n  SidebarMenuButton,\n  SidebarMenuItem,\n  SidebarRail,\n  SidebarSeparator,\n} from \"@/registry/bases/base/ui/sidebar\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'SidebarRail' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Sidebar,\n  SidebarContent,\n  SidebarFooter,\n  SidebarHeader,\n  SidebarMenu,\n  SidebarMenuButton,\n  SidebarMenuItem,\n  SidebarRail,\n  SidebarSeparator,\n} from \"@/registry/bases/base/ui/sidebar\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 79,
        "comment_ratio": 0.0125,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.75,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.025316,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.87,
        "mechanical": 85.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\sidebar-16\\components\\search-form.tsx",
      "language": "tsx",
      "line_count": 31,
      "token_estimate": 228,
      "functions": [
        {
          "name": "SearchForm",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 31,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\blocks\\signup-03\\page.tsx",
      "language": "tsx",
      "line_count": 28,
      "token_estimate": 242,
      "functions": [
        {
          "name": "SignupPage",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 28,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\accordion-example.tsx",
      "language": "tsx",
      "line_count": 337,
      "token_estimate": 3042,
      "functions": [
        {
          "name": "AccordionExample",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0345,
          "ai_signals": []
        },
        {
          "name": "AccordionBasic",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0345,
          "ai_signals": []
        },
        {
          "name": "AccordionMultiple",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 98,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0345,
          "ai_signals": []
        },
        {
          "name": "AccordionWithBorders",
          "type": "function_declaration",
          "line_start": 100,
          "line_end": 153,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 100,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function AccordionWithBorders is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 118,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1641,
          "ai_signals": []
        },
        {
          "name": "AccordionInCard",
          "type": "function_declaration",
          "line_start": 155,
          "line_end": 288,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 134,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 155,
              "description": "Function is 134 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 134 lines (> 37 dynamic threshold)",
                "impact": "Function AccordionInCard is 134 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 161,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 189,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 208,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 226,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 245,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1912,
          "ai_signals": []
        },
        {
          "name": "AccordionWithDisabled",
          "type": "function_declaration",
          "line_start": 290,
          "line_end": 336,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 290,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function AccordionWithDisabled is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.109,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 51.83,
        "function_length_stddev": 42.89,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 337,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.026706,
        "structural_uniformity": 0.1725,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.77,
        "mechanical": 80.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\button-group-example.tsx",
      "language": "tsx",
      "line_count": 754,
      "token_estimate": 5540,
      "functions": [
        {
          "name": "ButtonGroupExample",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0637,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupBasic",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0637,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithInput",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0637,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithText",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0637,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithDropdown",
          "type": "function_declaration",
          "line_start": 120,
          "line_end": 242,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 123,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 120,
              "description": "Function is 123 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 123 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupWithDropdown is 123 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0922,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithSelect",
          "type": "function_declaration",
          "line_start": 250,
          "line_end": 284,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0637,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithIcons",
          "type": "function_declaration",
          "line_start": 286,
          "line_end": 322,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0637,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithInputGroup",
          "type": "function_declaration",
          "line_start": 324,
          "line_end": 346,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0637,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithFields",
          "type": "function_declaration",
          "line_start": 348,
          "line_end": 390,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 348,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupWithFields is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1451,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithLike",
          "type": "function_declaration",
          "line_start": 392,
          "line_end": 419,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0637,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupWithSelectAndInput",
          "type": "function_declaration",
          "line_start": 427,
          "line_end": 449,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0637,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupNested",
          "type": "function_declaration",
          "line_start": 451,
          "line_end": 486,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0637,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupPagination",
          "type": "function_declaration",
          "line_start": 488,
          "line_end": 532,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 488,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupPagination is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1415,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupPaginationSplit",
          "type": "function_declaration",
          "line_start": 534,
          "line_end": 578,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 45,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 534,
              "description": "Function is 45 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 45 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupPaginationSplit is 45 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1415,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupNavigation",
          "type": "function_declaration",
          "line_start": 580,
          "line_end": 618,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 580,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupNavigation is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1534,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupTextAlignment",
          "type": "function_declaration",
          "line_start": 620,
          "line_end": 642,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0637,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupVertical",
          "type": "function_declaration",
          "line_start": 644,
          "line_end": 675,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0637,
          "ai_signals": []
        },
        {
          "name": "ButtonGroupVerticalNested",
          "type": "function_declaration",
          "line_start": 677,
          "line_end": 753,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 77,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 677,
              "description": "Function is 77 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 77 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupVerticalNested is 77 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1092,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 18,
        "avg_function_length": 37.89,
        "function_length_stddev": 25.82,
        "import_count": 11,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 754,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.76,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.007958,
        "structural_uniformity": 0.3185,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.64,
        "mechanical": 89.64,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\command-example.tsx",
      "language": "tsx",
      "line_count": 591,
      "token_estimate": 5164,
      "functions": [
        {
          "name": "CommandExample",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "CommandInline",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 84,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 36,
              "description": "Function is 84 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 84 lines (> 37 dynamic threshold)",
                "impact": "Function CommandInline is 84 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0417,
          "ai_signals": []
        },
        {
          "name": "CommandBasic",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 122,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1167,
          "ai_signals": []
        },
        {
          "name": "CommandWithShortcuts",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 211,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 152,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function CommandWithShortcuts is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 153,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1167,
          "ai_signals": []
        },
        {
          "name": "CommandWithGroups",
          "type": "function_declaration",
          "line_start": 213,
          "line_end": 305,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 93,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 213,
              "description": "Function is 93 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 93 lines (> 37 dynamic threshold)",
                "impact": "Function CommandWithGroups is 93 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 214,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0753,
          "ai_signals": []
        },
        {
          "name": "CommandManyItems",
          "type": "function_declaration",
          "line_start": 307,
          "line_end": 590,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 284,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 307,
              "description": "Function is 284 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 284 lines (> 37 dynamic threshold)",
                "impact": "Function CommandManyItems is 284 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 308,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0246,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 93.67,
        "function_length_stddev": 98.33,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 591,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.13,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.013536,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.62,
        "mechanical": 81.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\field-example.tsx",
      "language": "tsx",
      "line_count": 1062,
      "token_estimate": 9377,
      "functions": [
        {
          "name": "FieldExample",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1161,
          "ai_signals": []
        },
        {
          "name": "InputFields",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 73,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 67,
              "description": "Function is 73 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 73 lines (> 37 dynamic threshold)",
                "impact": "Function InputFields is 73 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.164,
          "ai_signals": []
        },
        {
          "name": "TextareaFields",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 201,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 61,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 141,
              "description": "Function is 61 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 61 lines (> 37 dynamic threshold)",
                "impact": "Function TextareaFields is 61 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1735,
          "ai_signals": []
        },
        {
          "name": "SelectFields",
          "type": "function_declaration",
          "line_start": 203,
          "line_end": 338,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 136,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 203,
              "description": "Function is 136 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 136 lines (> 37 dynamic threshold)",
                "impact": "Function SelectFields is 136 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1418,
          "ai_signals": []
        },
        {
          "name": "NativeSelectFields",
          "type": "function_declaration",
          "line_start": 340,
          "line_end": 433,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 94,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 340,
              "description": "Function is 94 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 94 lines (> 37 dynamic threshold)",
                "impact": "Function NativeSelectFields is 94 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1533,
          "ai_signals": []
        },
        {
          "name": "CheckboxFields",
          "type": "function_declaration",
          "line_start": 435,
          "line_end": 514,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 80,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 435,
              "description": "Function is 80 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 80 lines (> 37 dynamic threshold)",
                "impact": "Function CheckboxFields is 80 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1598,
          "ai_signals": []
        },
        {
          "name": "RadioFields",
          "type": "function_declaration",
          "line_start": 516,
          "line_end": 666,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 151,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 516,
              "description": "Function is 151 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 151 lines (> 37 dynamic threshold)",
                "impact": "Function RadioFields is 151 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1393,
          "ai_signals": []
        },
        {
          "name": "SwitchFields",
          "type": "function_declaration",
          "line_start": 668,
          "line_end": 737,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 70,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 668,
              "description": "Function is 70 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 70 lines (> 37 dynamic threshold)",
                "impact": "Function SwitchFields is 70 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1661,
          "ai_signals": []
        },
        {
          "name": "SliderFields",
          "type": "function_declaration",
          "line_start": 739,
          "line_end": 857,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 119,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 5,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 739,
              "description": "Function is 119 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 119 lines (> 37 dynamic threshold)",
                "impact": "Function SliderFields is 119 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 754,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 764,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 792,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 806,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 819,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 754,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 764,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 792,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 806,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 819,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 740,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 741,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 742,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 743,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 744,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4661,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "InputOTPFields",
          "type": "function_declaration",
          "line_start": 859,
          "line_end": 976,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 118,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 2,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 859,
              "description": "Function is 118 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 118 lines (> 37 dynamic threshold)",
                "impact": "Function InputOTPFields is 118 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 870,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 871,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 872,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 873,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 874,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 875,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 888,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 889,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 890,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 891,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 892,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 893,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 906,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 907,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 908,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 912,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 913,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 914,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 931,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 932,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 933,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 934,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 945,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 946,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 947,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 948,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 949,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 950,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 961,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 962,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 963,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 964,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 965,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 966,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 860,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 861,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4661,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "HorizontalFields",
          "type": "function_declaration",
          "line_start": 978,
          "line_end": 1061,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 84,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 978,
              "description": "Function is 84 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 84 lines (> 37 dynamic threshold)",
                "impact": "Function HorizontalFields is 84 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1577,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 11,
        "avg_function_length": 91.09,
        "function_length_stddev": 38.22,
        "import_count": 14,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 1062,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.83,
        "debug_artifacts": [],
        "ai_smell_count": 61,
        "ai_smell_density": 0.057439,
        "structural_uniformity": 0.5804,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 70.64,
        "mechanical": 70.64,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\menubar-example.tsx",
      "language": "tsx",
      "line_count": 775,
      "token_estimate": 6188,
      "functions": [
        {
          "name": "MenubarExample",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1102,
          "ai_signals": []
        },
        {
          "name": "MenubarBasic",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarBasic is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1999,
          "ai_signals": []
        },
        {
          "name": "MenubarSides",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1102,
          "ai_signals": []
        },
        {
          "name": "MenubarWithSubmenu",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 178,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 130,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarWithSubmenu is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1816,
          "ai_signals": []
        },
        {
          "name": "MenubarWithCheckboxes",
          "type": "function_declaration",
          "line_start": 180,
          "line_end": 211,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1102,
          "ai_signals": []
        },
        {
          "name": "MenubarWithRadio",
          "type": "function_declaration",
          "line_start": 213,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 214,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 215,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3161,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        },
        {
          "name": "MenubarWithIcons",
          "type": "function_declaration",
          "line_start": 248,
          "line_end": 329,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 82,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 248,
              "description": "Function is 82 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 82 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarWithIcons is 82 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1529,
          "ai_signals": []
        },
        {
          "name": "MenubarWithShortcuts",
          "type": "function_declaration",
          "line_start": 331,
          "line_end": 373,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 331,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarWithShortcuts is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1916,
          "ai_signals": []
        },
        {
          "name": "MenubarFormat",
          "type": "function_declaration",
          "line_start": 375,
          "line_end": 430,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 375,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarFormat is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1727,
          "ai_signals": []
        },
        {
          "name": "MenubarInsert",
          "type": "function_declaration",
          "line_start": 432,
          "line_end": 507,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 76,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 432,
              "description": "Function is 76 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 76 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarInsert is 76 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1563,
          "ai_signals": []
        },
        {
          "name": "MenubarDestructive",
          "type": "function_declaration",
          "line_start": 509,
          "line_end": 599,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 91,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 509,
              "description": "Function is 91 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 91 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarDestructive is 91 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1487,
          "ai_signals": []
        },
        {
          "name": "MenubarInDialog",
          "type": "function_declaration",
          "line_start": 601,
          "line_end": 689,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 601,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarInDialog is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1495,
          "ai_signals": []
        },
        {
          "name": "MenubarWithInset",
          "type": "function_declaration",
          "line_start": 691,
          "line_end": 774,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 84,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 691,
              "description": "Function is 84 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 84 lines (> 37 dynamic threshold)",
                "impact": "Function MenubarWithInset is 84 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 692,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 693,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 694,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2769,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 13,
        "avg_function_length": 55.85,
        "function_length_stddev": 25.35,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 775,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.06,
        "debug_artifacts": [],
        "ai_smell_count": 14,
        "ai_smell_density": 0.018065,
        "structural_uniformity": 0.546,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.73,
        "mechanical": 81.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\scroll-area-example.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 647,
      "functions": [
        {
          "name": "ScrollAreaExample",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0793,
          "ai_signals": []
        },
        {
          "name": "ScrollAreaVertical",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0793,
          "ai_signals": []
        },
        {
          "name": "ScrollAreaHorizontal",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 65,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.3127,
          "ai_signals": [
            "High anti-pattern density (0.67)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 18.33,
        "function_length_stddev": 11.06,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.22,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.022989,
        "structural_uniformity": 0.3967,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.75,
        "mechanical": 91.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\skeleton-example.tsx",
      "language": "tsx",
      "line_count": 103,
      "token_estimate": 668,
      "functions": [
        {
          "name": "SkeletonExample",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1392,
          "ai_signals": []
        },
        {
          "name": "SkeletonAvatar",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1392,
          "ai_signals": []
        },
        {
          "name": "SkeletonCard",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1392,
          "ai_signals": []
        },
        {
          "name": "SkeletonText",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1392,
          "ai_signals": []
        },
        {
          "name": "SkeletonForm",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1392,
          "ai_signals": []
        },
        {
          "name": "SkeletonTable",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1392,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15,
        "function_length_stddev": 4.56,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 103,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.57,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.696,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\examples\\toggle-example.tsx",
      "language": "tsx",
      "line_count": 339,
      "token_estimate": 2485,
      "functions": [
        {
          "name": "ToggleExample",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0634,
          "ai_signals": []
        },
        {
          "name": "ToggleBasic",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0634,
          "ai_signals": []
        },
        {
          "name": "ToggleOutline",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0634,
          "ai_signals": []
        },
        {
          "name": "ToggleSizes",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0634,
          "ai_signals": []
        },
        {
          "name": "ToggleWithButtonText",
          "type": "function_declaration",
          "line_start": 107,
          "line_end": 138,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0634,
          "ai_signals": []
        },
        {
          "name": "ToggleWithButtonIcon",
          "type": "function_declaration",
          "line_start": 140,
          "line_end": 211,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 72,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 140,
              "description": "Function is 72 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 72 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleWithButtonIcon is 72 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.112,
          "ai_signals": []
        },
        {
          "name": "ToggleWithButtonIconText",
          "type": "function_declaration",
          "line_start": 213,
          "line_end": 293,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 81,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 213,
              "description": "Function is 81 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 81 lines (> 37 dynamic threshold)",
                "impact": "Function ToggleWithButtonIconText is 81 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1066,
          "ai_signals": []
        },
        {
          "name": "ToggleDisabled",
          "type": "function_declaration",
          "line_start": 295,
          "line_end": 308,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0634,
          "ai_signals": []
        },
        {
          "name": "ToggleWithIcon",
          "type": "function_declaration",
          "line_start": 310,
          "line_end": 338,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0634,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 35.78,
        "function_length_stddev": 24.44,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 339,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.12,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.0059,
        "structural_uniformity": 0.3168,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 90.79,
        "mechanical": 90.79,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\lib\\utils.ts",
      "language": "typescript",
      "line_count": 7,
      "token_estimate": 41,
      "functions": [
        {
          "name": "cn",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 6,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 7,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 49,
      "token_estimate": 351,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 49,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 35,
      "token_estimate": 262,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 35,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 286,
      "token_estimate": 1872,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 97,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 99,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 103,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 195,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 158,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuCheckboxItem is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.132,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 197,
          "line_end": 204,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 206,
          "line_end": 241,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 243,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 256,
          "line_end": 267,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0399,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 16.33,
        "function_length_stddev": 13.07,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 286,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.55,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.003497,
        "structural_uniformity": 0.1995,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.23,
        "mechanical": 97.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 146,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.6,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 289,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 14,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4949,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 435,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.32,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\base\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 291,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\dashboard-01\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 221,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 30,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1207,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.31,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02381,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.35,
        "mechanical": 88.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\login-02\\page.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 352,
      "functions": [
        {
          "name": "LoginPage",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 32,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.06,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.4,
        "mechanical": 86.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\album-card.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 437,
      "functions": [
        {
          "name": "AlbumCard",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 11,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function AlbumCard is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 16,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1795,
          "ai_signals": [
            "High anti-pattern density (0.51)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.96,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.04,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.3,
        "mechanical": 81.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\empty-distribute-track.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 291,
      "functions": [
        {
          "name": "EmptyDistributeTrack",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.93,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.3,
        "mechanical": 94.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\notification-settings.tsx",
      "language": "tsx",
      "line_count": 107,
      "token_estimate": 729,
      "functions": [
        {
          "name": "NotificationSettings",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 50,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function NotificationSettings is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 88,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1228,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 107,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.17,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.018692,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.23,
        "mechanical": 76.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\release-catalog.tsx",
      "language": "tsx",
      "line_count": 121,
      "token_estimate": 853,
      "functions": [
        {
          "name": "ReleaseCatalog",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 62,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 62 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 62 lines (> 37 dynamic threshold)",
                "impact": "Function ReleaseCatalog is 62 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0565,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 62,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 121,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008264,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.93,
        "mechanical": 82.93,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview-02\\cards\\transfer-funds.tsx",
      "language": "tsx",
      "line_count": 131,
      "token_estimate": 1102,
      "functions": [
        {
          "name": "TransferFunds",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 30,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function TransferFunds is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0347,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 101,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 131,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.47,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007634,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.09,
        "mechanical": 83.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\bar-visualizer.tsx",
      "language": "tsx",
      "line_count": 484,
      "token_estimate": 3188,
      "functions": [
        {
          "name": "normalizeDb",
          "type": "arrow_function",
          "line_start": 49,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0264,
          "ai_signals": []
        },
        {
          "name": "createAudioAnalyser",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 1,
            "parameter_count": 2,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 62,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 62,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 62,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 62,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3764,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "useMultibandVolume",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 2,
            "line_count": 88,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 1,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 86,
              "description": "Function is 88 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 88 lines (> 37 dynamic threshold)",
                "impact": "Function useMultibandVolume is 88 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 90,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 98,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1457,
          "ai_signals": []
        },
        {
          "name": "generateConnectingSequenceBar",
          "type": "arrow_function",
          "line_start": 175,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0264,
          "ai_signals": []
        },
        {
          "name": "generateListeningSequenceBar",
          "type": "arrow_function",
          "line_start": 183,
          "line_end": 187,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0264,
          "ai_signals": []
        },
        {
          "name": "useBarAnimator",
          "type": "arrow_function",
          "line_start": 189,
          "line_end": 242,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 3,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 2,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 189,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function useBarAnimator is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 198,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 210,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 217,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2856,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "updateFakeVolume",
          "type": "arrow_function",
          "line_start": 323,
          "line_end": 352,
          "metrics": {
            "cyclomatic_complexity": 6,
            "max_nesting_depth": 3,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0264,
          "ai_signals": []
        },
        {
          "name": "BarVisualizerCard",
          "type": "function_declaration",
          "line_start": 437,
          "line_end": 483,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 437,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function BarVisualizerCard is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 449,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1753,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 33.25,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 483,
        "comment_ratio": 0.0021,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.55,
        "debug_artifacts": [],
        "ai_smell_count": 13,
        "ai_smell_density": 0.026915,
        "structural_uniformity": 0.1319,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.36,
        "mechanical": 79.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\github-profile.tsx",
      "language": "tsx",
      "line_count": 78,
      "token_estimate": 602,
      "functions": [
        {
          "name": "GithubProfile",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 25,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function GithubProfile is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.066,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 53,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 78,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.12,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.012821,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.89,
        "mechanical": 83.89,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\pie-chart-card.tsx",
      "language": "tsx",
      "line_count": 148,
      "token_estimate": 1056,
      "functions": [
        {
          "name": "PieChartCard",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 94,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 54,
              "description": "Function is 94 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 94 lines (> 37 dynamic threshold)",
                "impact": "Function PieChartCard is 94 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 84,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 95,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 126,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 140,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 66,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 66,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 66,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2979,
          "ai_signals": [
            "High anti-pattern density (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 94,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 148,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.3,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.054054,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 70.24,
        "mechanical": 70.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\preview\\cards\\ui-elements.tsx",
      "language": "tsx",
      "line_count": 200,
      "token_estimate": 1782,
      "functions": [
        {
          "name": "UIElements",
          "type": "function_declaration",
          "line_start": 53,
          "line_end": 199,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 147,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 53,
              "description": "Function is 147 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 147 lines (> 37 dynamic threshold)",
                "impact": "Function UIElements is 147 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 90,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 55,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 147,
        "function_length_stddev": 0.0,
        "import_count": 16,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 200,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.45,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.015,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.25,
        "mechanical": 81.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-01\\page.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 447,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.53,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.5,
        "mechanical": 92.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-04\\page.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 473,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 21,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 21,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2561,
          "ai_signals": [
            "High anti-pattern density (0.73)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.52,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.051724,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.77,
        "mechanical": 77.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-07\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 245,
      "token_estimate": 1310,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 228,
          "line_end": 244,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 232,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 235,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 236,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 239,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 244,
        "comment_ratio": 0.0041,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.57,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.016393,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.8,
        "mechanical": 93.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-08\\components\\nav-projects.tsx",
      "language": "tsx",
      "line_count": 119,
      "token_estimate": 938,
      "functions": [
        {
          "name": "NavProjects",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 98,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 21,
              "description": "Function is 98 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 98 lines (> 37 dynamic threshold)",
                "impact": "Function NavProjects is 98 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 39,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 98,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 119,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.38,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.016807,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.8,
        "mechanical": 80.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-10\\components\\nav-actions.tsx",
      "language": "tsx",
      "line_count": 254,
      "token_estimate": 1529,
      "functions": [
        {
          "name": "NavActions",
          "type": "function_declaration",
          "line_start": 189,
          "line_end": 253,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 65,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 189,
              "description": "Function is 65 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 65 lines (> 37 dynamic threshold)",
                "impact": "Function NavActions is 65 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 190,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 192,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1615,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 65,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 254,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.48,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.011811,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.05,
        "mechanical": 82.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-11\\page.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 498,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0897,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.75,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.017857,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.84,
        "mechanical": 86.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-14\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 198,
      "token_estimate": 1032,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 159,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 170,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 182,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 174,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 197,
        "comment_ratio": 0.0051,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.020305,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.22,
        "mechanical": 86.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-15\\components\\nav-workspaces.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 835,
      "functions": [
        {
          "name": "NavWorkspaces",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 83,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 83 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 83 lines (> 37 dynamic threshold)",
                "impact": "Function NavWorkspaces is 83 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0422,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 83,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.88,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.009524,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.62,
        "mechanical": 82.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\sidebar-16\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 224,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 30,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1207,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.23,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02381,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.35,
        "mechanical": 88.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\blocks\\signup-02\\page.tsx",
      "language": "tsx",
      "line_count": 41,
      "token_estimate": 353,
      "functions": [
        {
          "name": "SignupPage",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 32,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 35,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 41,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.02439,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.4,
        "mechanical": 86.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\components\\example.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 344,
      "functions": [
        {
          "name": "ExampleWrapper",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0755,
          "ai_signals": []
        },
        {
          "name": "Example",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0755,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 25,
        "function_length_stddev": 15.56,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3777,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.25,
        "mechanical": 94.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\breadcrumb-example.tsx",
      "language": "tsx",
      "line_count": 123,
      "token_estimate": 881,
      "functions": [
        {
          "name": "BreadcrumbExample",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbBasic",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbWithDropdown",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbWithLink",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 101,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 111,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3527,
          "ai_signals": [
            "High anti-pattern density (0.69)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 24,
        "function_length_stddev": 11.94,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 123,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.65,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.01626,
        "structural_uniformity": 0.5023,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 91.73,
        "mechanical": 91.73,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\collapsible-example.tsx",
      "language": "tsx",
      "line_count": 240,
      "token_estimate": 1799,
      "functions": [
        {
          "name": "CollapsibleExample",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0276,
          "ai_signals": []
        },
        {
          "name": "CollapsibleFileTree",
          "type": "function_declaration",
          "line_start": 38,
          "line_end": 165,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 128,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 38,
              "description": "Function is 128 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 128 lines (> 37 dynamic threshold)",
                "impact": "Function CollapsibleFileTree is 128 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0549,
          "ai_signals": []
        },
        {
          "name": "CollapsibleSettings",
          "type": "function_declaration",
          "line_start": 167,
          "line_end": 239,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 73,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 167,
              "description": "Function is 73 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 73 lines (> 37 dynamic threshold)",
                "impact": "Function CollapsibleSettings is 73 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 168,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1235,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 69.67,
        "function_length_stddev": 60.07,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 240,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.05,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.0125,
        "structural_uniformity": 0.1378,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.04,
        "mechanical": 81.04,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\dropdown-menu-example.tsx",
      "language": "tsx",
      "line_count": 979,
      "token_estimate": 8132,
      "functions": [
        {
          "name": "DropdownMenuExample",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuBasic",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithIcons",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 90,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithIcons is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1676,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithShortcuts",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 151,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithShortcuts is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1947,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithSubmenu",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 229,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1093,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithCheckboxes",
          "type": "function_declaration",
          "line_start": 231,
          "line_end": 292,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 62,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 231,
              "description": "Function is 62 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 62 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithCheckboxes is 62 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 232,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 233,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 234,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3351,
          "ai_signals": [
            "High anti-pattern density (0.65)"
          ]
        },
        {
          "name": "DropdownMenuWithRadio",
          "type": "function_declaration",
          "line_start": 294,
          "line_end": 348,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 55,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 294,
              "description": "Function is 55 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 55 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithRadio is 55 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 295,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2366,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithCheckboxesIcons",
          "type": "function_declaration",
          "line_start": 350,
          "line_end": 418,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 69,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 350,
              "description": "Function is 69 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 69 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithCheckboxesIcons is 69 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 351,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2108,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithRadioIcons",
          "type": "function_declaration",
          "line_start": 420,
          "line_end": 472,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 420,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithRadioIcons is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 421,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2414,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithDestructive",
          "type": "function_declaration",
          "line_start": 474,
          "line_end": 533,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 474,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithDestructive is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1676,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithAvatar",
          "type": "function_declaration",
          "line_start": 535,
          "line_end": 635,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 535,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithAvatar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 537,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 596,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 623,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2479,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuInDialog",
          "type": "function_declaration",
          "line_start": 637,
          "line_end": 726,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 90,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 637,
              "description": "Function is 90 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 90 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuInDialog is 90 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1482,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuWithInset",
          "type": "function_declaration",
          "line_start": 728,
          "line_end": 815,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 88,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 728,
              "description": "Function is 88 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 88 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuWithInset is 88 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 729,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 730,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 731,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2684,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuComplex",
          "type": "function_declaration",
          "line_start": 817,
          "line_end": 978,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 162,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 817,
              "description": "Function is 162 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 162 lines (> 37 dynamic threshold)",
                "impact": "Function DropdownMenuComplex is 162 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 818,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 819,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1741,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 14,
        "avg_function_length": 66,
        "function_length_stddev": 36.25,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 979,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.15,
        "debug_artifacts": [],
        "ai_smell_count": 25,
        "ai_smell_density": 0.025536,
        "structural_uniformity": 0.4507,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.62,
        "mechanical": 78.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\kbd-example.tsx",
      "language": "tsx",
      "line_count": 195,
      "token_estimate": 1082,
      "functions": [
        {
          "name": "KbdExample",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.092,
          "ai_signals": []
        },
        {
          "name": "KbdBasic",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.092,
          "ai_signals": []
        },
        {
          "name": "KbdModifierKeys",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.092,
          "ai_signals": []
        },
        {
          "name": "KbdGroupExample",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.092,
          "ai_signals": []
        },
        {
          "name": "KbdArrowKeys",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.092,
          "ai_signals": []
        },
        {
          "name": "KbdWithIcons",
          "type": "function_declaration",
          "line_start": 83,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.092,
          "ai_signals": []
        },
        {
          "name": "KbdWithIconsAndText",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.092,
          "ai_signals": []
        },
        {
          "name": "KbdInInputGroup",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.092,
          "ai_signals": []
        },
        {
          "name": "KbdInTooltip",
          "type": "function_declaration",
          "line_start": 161,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.092,
          "ai_signals": []
        },
        {
          "name": "KbdWithSamp",
          "type": "function_declaration",
          "line_start": 186,
          "line_end": 194,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.092,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 16.7,
        "function_length_stddev": 9.02,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 195,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.72,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4599,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.99,
        "mechanical": 97.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\radio-group-example.tsx",
      "language": "tsx",
      "line_count": 223,
      "token_estimate": 1768,
      "functions": [
        {
          "name": "RadioGroupExample",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "RadioGroupBasic",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "RadioGroupWithDescriptions",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 58,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function RadioGroupWithDescriptions is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.2301,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "RadioGroupWithFieldSet",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "RadioGroupGrid",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 162,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "RadioGroupDisabled",
          "type": "function_declaration",
          "line_start": 164,
          "line_end": 189,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "RadioGroupInvalid",
          "type": "function_declaration",
          "line_start": 191,
          "line_end": 222,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1403,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 28.43,
        "function_length_stddev": 8.48,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 223,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.72,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.004484,
        "structural_uniformity": 0.7016,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.35,
        "mechanical": 93.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\sidebar-icon-example.tsx",
      "language": "tsx",
      "line_count": 462,
      "token_estimate": 3582,
      "functions": [
        {
          "name": "SidebarIconExample",
          "type": "function_declaration",
          "line_start": 53,
          "line_end": 461,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 409,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 53,
              "description": "Function is 409 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 409 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarIconExample is 409 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 384,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 413,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 347,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 364,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 344,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 236,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0599,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 32,
              "description": "Unused import: import {\n  Sidebar,\n  SidebarContent,\n  SidebarFooter,\n  SidebarGroup,\n  SidebarGroupContent,\n  SidebarGroupLabel,\n  SidebarHeader,\n  SidebarInset,\n  SidebarMenu,\n  SidebarMenuButton,\n  SidebarMenuItem,\n  SidebarMenuSub,\n  SidebarMenuSubButton,\n  SidebarMenuSubItem,\n  SidebarProvider,\n  SidebarRail,\n  SidebarTrigger,\n} from \"@/registry/bases/radix/ui/sidebar\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'SidebarGroupContent' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  Sidebar,\n  SidebarContent,\n  SidebarFooter,\n  SidebarGroup,\n  SidebarGroupContent,\n  SidebarGroupLabel,\n  SidebarHeader,\n  SidebarInset,\n  SidebarMenu,\n  SidebarMenuButton,\n  SidebarMenuItem,\n  SidebarMenuSub,\n  SidebarMenuSubButton,\n  SidebarMenuSubItem,\n  SidebarProvider,\n  SidebarRail,\n  SidebarTrigger,\n} from \"@/registry/bases/radix/ui/sidebar\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 409,
        "function_length_stddev": 0.0,
        "import_count": 8,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 462,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.06,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.015152,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.21,
        "mechanical": 81.21,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\examples\\tabs-example.tsx",
      "language": "tsx",
      "line_count": 362,
      "token_estimate": 3010,
      "functions": [
        {
          "name": "TabsExample",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "TabsBasic",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "TabsLine",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "TabsVariantsComparison",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "TabsDisabled",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "TabsWithIcons",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 136,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "TabsIconOnly",
          "type": "function_declaration",
          "line_start": 138,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "TabsMultiple",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 189,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "TabsWithContent",
          "type": "function_declaration",
          "line_start": 191,
          "line_end": 214,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "TabsLineWithContent",
          "type": "function_declaration",
          "line_start": 216,
          "line_end": 239,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "TabsLineDisabled",
          "type": "function_declaration",
          "line_start": 241,
          "line_end": 255,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "TabsWithDropdown",
          "type": "function_declaration",
          "line_start": 257,
          "line_end": 303,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 47,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 257,
              "description": "Function is 47 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 47 lines (> 37 dynamic threshold)",
                "impact": "Function TabsWithDropdown is 47 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1863,
          "ai_signals": []
        },
        {
          "name": "TabsVertical",
          "type": "function_declaration",
          "line_start": 305,
          "line_end": 331,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        },
        {
          "name": "TabsWithInputAndButton",
          "type": "function_declaration",
          "line_start": 333,
          "line_end": 361,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1119,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 14,
        "avg_function_length": 23.36,
        "function_length_stddev": 10.29,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 362,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.39,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.002762,
        "structural_uniformity": 0.5593,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.3,
        "mechanical": 95.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\internal\\sink.tsx",
      "language": "tsx",
      "line_count": 116,
      "token_estimate": 1424,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 60,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 60 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 60 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 60 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0583,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 60,
        "function_length_stddev": 0.0,
        "import_count": 54,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 116,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.37,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.008621,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.84,
        "mechanical": 82.84,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 68,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 5,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.58,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 257,
      "token_estimate": 1526,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0332,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3832,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2082,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0332,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 209,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0332,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 211,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0332,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 34.5,
        "function_length_stddev": 28.78,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 257,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.16,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.062257,
        "structural_uniformity": 0.1658,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.25,
        "mechanical": 73.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 126,
      "functions": [
        {
          "name": "DirectionProvider",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.36,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 139,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 7,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-form-missing-labels",
              "severity": "high",
              "line": 7,
              "description": "Form input without associated label - screen readers cannot identify what the input is for",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.98,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.1,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 74.1,
        "mechanical": 74.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 501,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverAnchor",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0776,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 9.43,
        "function_length_stddev": 5.77,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3881,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 709,
      "token_estimate": 4773,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 133,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 133,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 107,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 69,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 73,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 75,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 85,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 91,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 151,
          "line_end": 251,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 151,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 191,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 191,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.104,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 253,
          "line_end": 284,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 286,
          "line_end": 309,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 290,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 311,
          "line_end": 322,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 324,
          "line_end": 336,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 338,
          "line_end": 347,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 349,
          "line_end": 358,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 360,
          "line_end": 372,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 374,
          "line_end": 386,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 388,
          "line_end": 400,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 402,
          "line_end": 420,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 422,
          "line_end": 440,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 442,
          "line_end": 454,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 456,
          "line_end": 465,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 467,
          "line_end": 476,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 499,
          "line_end": 547,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 499,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0714,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 549,
          "line_end": 573,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 575,
          "line_end": 590,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 592,
          "line_end": 628,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 621,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 621,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 600,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2838,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 630,
          "line_end": 639,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 641,
          "line_end": 653,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 655,
          "line_end": 681,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 24.67,
        "function_length_stddev": 24.71,
        "import_count": 12,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 700,
        "comment_ratio": 0.0127,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.68,
        "debug_artifacts": [],
        "ai_smell_count": 18,
        "ai_smell_density": 0.025714,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.71,
        "mechanical": 86.71,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\bases\\radix\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 119,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.42,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\icons\\icon-remixicon.tsx",
      "language": "tsx",
      "line_count": 4,
      "token_estimate": 29,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 4,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\dashboard-01\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 43,
      "token_estimate": 231,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 31,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1207,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 29,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 43,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.07,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.023256,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.49,
        "mechanical": 88.49,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\login-02\\page.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 283,
      "functions": [
        {
          "name": "LoginPage",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-img-missing-alt",
              "severity": "high",
              "line": 24,
              "description": "Image element without alt attribute - screen readers cannot describe the image content",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.125,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 28,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.61,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.030303,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.02,
        "mechanical": 87.02,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-01\\components\\search-form.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 205,
      "functions": [
        {
          "name": "SearchForm",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.45,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-03\\page.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 458,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.53,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-06\\components\\sidebar-opt-in-form.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 253,
      "functions": [
        {
          "name": "SidebarOptInForm",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 25,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.5,
        "mechanical": 95.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-08\\components\\app-sidebar.tsx",
      "language": "tsx",
      "line_count": 186,
      "token_estimate": 968,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 155,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 176,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 177,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 178,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 181,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 186,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.42,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.021505,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.32,
        "mechanical": 88.32,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-09\\page.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 429,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 17,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function Page is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 48,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 21,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 21,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3415,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 41,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.2,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.068966,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.46,
        "mechanical": 73.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-10\\page.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 409,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 34,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.41,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.8,
        "mechanical": 92.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-13\\components\\settings-dialog.tsx",
      "language": "tsx",
      "line_count": 130,
      "token_estimate": 1017,
      "functions": [
        {
          "name": "SettingsDialog",
          "type": "function_declaration",
          "line_start": 63,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 67,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 63,
              "description": "Function is 67 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 67 lines (> 37 dynamic threshold)",
                "impact": "Function SettingsDialog is 67 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 118,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 64,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1567,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 67,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 130,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.29,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.023077,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.23,
        "mechanical": 79.23,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-15\\components\\nav-secondary.tsx",
      "language": "tsx",
      "line_count": 44,
      "token_estimate": 260,
      "functions": [
        {
          "name": "NavSecondary",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 31,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1129,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 44,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.51,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022727,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.02,
        "mechanical": 88.02,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\sidebar-16\\components\\nav-main.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 553,
      "functions": [
        {
          "name": "NavMain",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 57,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 22,
              "description": "Function is 57 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 57 lines (> 37 dynamic threshold)",
                "impact": "Function NavMain is 57 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 44,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 62,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 50,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 49,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 59,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 57,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.79,
        "debug_artifacts": [],
        "ai_smell_count": 6,
        "ai_smell_density": 0.075949,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.91,
        "mechanical": 66.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\signup-01\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 78,
      "functions": [
        {
          "name": "Page",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\blocks\\signup-05\\page.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 85,
      "functions": [
        {
          "name": "SignupPage",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-area-linear.tsx",
      "language": "tsx",
      "line_count": 95,
      "token_estimate": 621,
      "functions": [
        {
          "name": "ChartAreaLinear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 56,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 56 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 56 lines (> 37 dynamic threshold)",
                "impact": "Function ChartAreaLinear is 56 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1875,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 56,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 95,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.04,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.031579,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.31,
        "mechanical": 78.31,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-bar-label-custom.tsx",
      "language": "tsx",
      "line_count": 108,
      "token_estimate": 741,
      "functions": [
        {
          "name": "ChartBarLabelCustom",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 62,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 46,
              "description": "Function is 62 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 62 lines (> 37 dynamic threshold)",
                "impact": "Function ChartBarLabelCustom is 62 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 63,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1694,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 62,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 108,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.04,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.027778,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.06,
        "mechanical": 78.06,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-line-dots-custom.tsx",
      "language": "tsx",
      "line_count": 111,
      "token_estimate": 750,
      "functions": [
        {
          "name": "ChartLineDotsCustom",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 68,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 43,
              "description": "Function is 68 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 68 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLineDotsCustom is 68 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 60,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 68,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 85,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2059,
          "ai_signals": [
            "High anti-pattern density (0.59)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 68,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 111,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.16,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.036036,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.99,
        "mechanical": 75.99,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-pie-donut-active.tsx",
      "language": "tsx",
      "line_count": 109,
      "token_estimate": 733,
      "functions": [
        {
          "name": "ChartPieDonutActive",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 49,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 60,
              "description": "Function is 49 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 49 lines (> 37 dynamic threshold)",
                "impact": "Function ChartPieDonutActive is 49 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 77,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 89,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-spreading-props-to-dom",
              "severity": "medium",
              "line": 91,
              "description": "Spreading all props onto a DOM element without destructuring - passes unknown/invalid HTML attributes, causing React warnings and potential XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 4,
              "description": "Unused import: import { Label, Pie, PieChart, Sector } from \"recharts\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'Label' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import { Label, Pie, PieChart, Sector } from \"recharts\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 49,
        "function_length_stddev": 0.0,
        "import_count": 5,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 109,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.98,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.045872,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.83,
        "mechanical": 76.83,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-pie-separator-none.tsx",
      "language": "tsx",
      "line_count": 94,
      "token_estimate": 602,
      "functions": [
        {
          "name": "ChartPieSeparatorNone",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 74,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1892,
          "ai_signals": [
            "High anti-pattern density (0.54)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 37,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 94,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.79,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.021277,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.58,
        "mechanical": 86.58,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-grid-custom.tsx",
      "language": "tsx",
      "line_count": 79,
      "token_estimate": 540,
      "functions": [
        {
          "name": "ChartRadarGridCustom",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarGridCustom is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 54,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2625,
          "ai_signals": [
            "High anti-pattern density (0.75)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 79,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.29,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.037975,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.51,
        "mechanical": 81.51,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-radar-radius.tsx",
      "language": "tsx",
      "line_count": 97,
      "token_estimate": 631,
      "functions": [
        {
          "name": "ChartRadarRadius",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 48,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 49,
              "description": "Function is 48 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 48 lines (> 37 dynamic threshold)",
                "impact": "Function ChartRadarRadius is 48 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 64,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 77,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2188,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "tsx_unused_import",
              "severity": "medium",
              "line": 4,
              "description": "Unused import: import {\n  PolarAngleAxis,\n  PolarGrid,\n  PolarRadiusAxis,\n  Radar,\n  RadarChart,\n} from \"recharts\"",
              "fix_type": "deterministic",
              "evidence": {
                "detection_method": "import-analysis",
                "proof": "Import 'PolarAngleAxis' is not referenced in file body",
                "impact": "Dead import adds noise and slows compilation",
                "recommendation": "Remove: import {\n  PolarAngleAxis,\n  PolarGrid,\n  PolarRadiusAxis,\n  Radar,\n  RadarChart,\n} from \"recharts\"",
                "confidence": 0.9,
                "fix_type": "deterministic",
                "references": []
              }
            },
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 48,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 97,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.09,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.030928,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 1
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 80.87,
        "mechanical": 80.87,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\charts\\chart-tooltip-default.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 588,
      "functions": [
        {
          "name": "ChartTooltipDefault",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 46,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 44,
              "description": "Function is 46 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 46 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipDefault is 46 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 79,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1522,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 46,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 4,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.64,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 83.64,
        "mechanical": 83.64,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\_registry.ts",
      "language": "typescript",
      "line_count": 2652,
      "token_estimate": 13894,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 2652,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.64,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\badge-destructive.tsx",
      "language": "tsx",
      "line_count": 6,
      "token_estimate": 40,
      "functions": [
        {
          "name": "BadgeDestructive",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 5,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 3,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 6,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.7,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\breadcrumb-separator.tsx",
      "language": "tsx",
      "line_count": 40,
      "token_estimate": 247,
      "functions": [
        {
          "name": "BreadcrumbWithCustomSeparator",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 19,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 27,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2759,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 27,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 40,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 11.0,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.05,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 82.4,
        "mechanical": 82.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-group-input-group.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 451,
      "functions": [
        {
          "name": "ButtonGroupInputGroup",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 20,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function ButtonGroupInputGroup is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 32,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 21,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 39,
        "function_length_stddev": 0.0,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.12,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.050847,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 76.09,
        "mechanical": 76.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-group-split.tsx",
      "language": "tsx",
      "line_count": 20,
      "token_estimate": 116,
      "functions": [
        {
          "name": "ButtonGroupSplit",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 20,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.93,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\button-with-icon.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 65,
      "functions": [
        {
          "name": "ButtonWithIcon",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\carousel-plugin.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 290,
      "functions": [
        {
          "name": "CarouselPlugin",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 44,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 17,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1167,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 30,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.37,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.022222,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.44,
        "mechanical": 88.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\chart-tooltip-demo.tsx",
      "language": "tsx",
      "line_count": 215,
      "token_estimate": 2027,
      "functions": [
        {
          "name": "Component",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 120,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 114,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 7,
              "description": "Function is 114 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 114 lines (> 37 dynamic threshold)",
                "impact": "Function Component is 114 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.202,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "TooltipDemo",
          "type": "function_declaration",
          "line_start": 122,
          "line_end": 214,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 93,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 122,
              "description": "Function is 93 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 93 lines (> 37 dynamic threshold)",
                "impact": "Function TooltipDemo is 93 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 174,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 186,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 186,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 172,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 146,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3971,
          "ai_signals": [
            "High anti-pattern density (0.65)",
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 103.5,
        "function_length_stddev": 14.85,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 215,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.69,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.032558,
        "structural_uniformity": 0.8565,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 72.53,
        "mechanical": 72.53,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\combobox-responsive.tsx",
      "language": "tsx",
      "line_count": 124,
      "token_estimate": 726,
      "functions": [
        {
          "name": "ComboBoxResponsive",
          "type": "function_declaration",
          "line_start": 54,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 70,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 85,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 66,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 66,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 80,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 80,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 55,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5295,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.90)"
          ]
        },
        {
          "name": "StatusList",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1795,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.90)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 34.5,
        "function_length_stddev": 3.54,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 124,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.86,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.056452,
        "structural_uniformity": 0.8975,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.29,
        "mechanical": 73.29,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\dialog-close-button.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 358,
      "functions": [
        {
          "name": "DialogCloseButton",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.27,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 92.2,
        "mechanical": 92.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\empty-avatar-group.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 403,
      "functions": [
        {
          "name": "EmptyAvatarGroup",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function EmptyAvatarGroup is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 25,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 30,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-image-optimization-missing",
              "severity": "medium",
              "line": 37,
              "description": "Large images served without optimization (WebP/AVIF conversion, responsive srcset) - slow page load, wasted bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.16,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.068966,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.76,
        "mechanical": 73.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\field-choice-card.tsx",
      "language": "tsx",
      "line_count": 55,
      "token_estimate": 419,
      "functions": [
        {
          "name": "FieldChoiceCard",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 40,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 15,
              "description": "Function is 40 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 40 lines (> 37 dynamic threshold)",
                "impact": "Function FieldChoiceCard is 40 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0875,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 40,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 55,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.47,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.018182,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.45,
        "mechanical": 86.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\field-slider.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 221,
      "functions": [
        {
          "name": "FieldSlider",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 1,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 23,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 13,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2917,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.2,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.055556,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 81.91,
        "mechanical": 81.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-next-demo.tsx",
      "language": "tsx",
      "line_count": 129,
      "token_estimate": 1018,
      "functions": [
        {
          "name": "FormNextDemo",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 94,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 35,
              "description": "Function is 94 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 94 lines (> 37 dynamic threshold)",
                "impact": "Function FormNextDemo is 94 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 72,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 72,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 79,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 79,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 83,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 87,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 87,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 98,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 98,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 111,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 47,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 49,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 57,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 94,
        "function_length_stddev": 0.0,
        "import_count": 11,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 129,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.47,
        "debug_artifacts": [],
        "ai_smell_count": 14,
        "ai_smell_density": 0.108527,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.5,
        "mechanical": 52.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-rhf-select.tsx",
      "language": "tsx",
      "line_count": 151,
      "token_estimate": 1120,
      "functions": [
        {
          "name": "FormRhfSelect",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 96,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 96 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 96 lines (> 37 dynamic threshold)",
                "impact": "Function FormRhfSelect is 96 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 107,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 74,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 74,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1458,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 96,
        "function_length_stddev": 0.0,
        "import_count": 9,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 151,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.01,
        "debug_artifacts": [],
        "ai_smell_count": 4,
        "ai_smell_density": 0.02649,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 78.38,
        "mechanical": 78.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\form-tanstack-radiogroup.tsx",
      "language": "tsx",
      "line_count": 161,
      "token_estimate": 1160,
      "functions": [
        {
          "name": "FormTanstackRadioGroup",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 106,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 55,
              "description": "Function is 106 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 106 lines (> 37 dynamic threshold)",
                "impact": "Function FormTanstackRadioGroup is 106 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 129,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 139,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 74,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 74,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1651,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 106,
        "function_length_stddev": 0.0,
        "import_count": 7,
        "export_count": 1,
        "comment_lines": 1,
        "code_lines": 160,
        "comment_ratio": 0.0062,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.03125,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 77.19,
        "mechanical": 77.19,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-group-button-group.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 201,
      "functions": [
        {
          "name": "InputGroupButtonGroup",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-group-text.tsx",
      "language": "tsx",
      "line_count": 47,
      "token_estimate": 362,
      "functions": [
        {
          "name": "InputGroupTextExample",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 9,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function InputGroupTextExample is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0921,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 38,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 47,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.48,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.021277,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.28,
        "mechanical": 86.28,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\input-with-label.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 87,
      "functions": [
        {
          "name": "InputWithLabel",
          "type": "function_declaration",
          "line_start": 4,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.57,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\item-image.tsx",
      "language": "tsx",
      "line_count": 66,
      "token_estimate": 427,
      "functions": [
        {
          "name": "ItemImage",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 41,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-image-missing-sizes",
              "severity": "medium",
              "line": 41,
              "description": "next/image used without width/height or fill prop - causes layout shift during image loading",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.2121,
          "ai_signals": [
            "High anti-pattern density (0.61)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 33,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 66,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.29,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.030303,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 85.52,
        "mechanical": 85.52,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\kbd-tooltip.tsx",
      "language": "tsx",
      "line_count": 42,
      "token_estimate": 276,
      "functions": [
        {
          "name": "KbdTooltip",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 32,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 42,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.03,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\navigation-menu-demo.tsx",
      "language": "tsx",
      "line_count": 216,
      "token_estimate": 1971,
      "functions": [
        {
          "name": "NavigationMenuDemo",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 195,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 140,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 140 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 140 lines (> 37 dynamic threshold)",
                "impact": "Function NavigationMenuDemo is 140 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 111,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 120,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 128,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 136,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 153,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 156,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 159,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 171,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 177,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 183,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.275,
          "ai_signals": [
            "High anti-pattern density (0.79)"
          ]
        },
        {
          "name": "ListItem",
          "type": "function_declaration",
          "line_start": 197,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-link-without-prefetch-control",
              "severity": "low",
              "line": 206,
              "description": "next/link used without explicit prefetch control in large navigation - prefetches all linked pages on viewport entry, wasting bandwidth",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1842,
          "ai_signals": [
            "High anti-pattern density (0.53)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 79.5,
        "function_length_stddev": 85.56,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 216,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.79,
        "debug_artifacts": [],
        "ai_smell_count": 12,
        "ai_smell_density": 0.055556,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 71.11,
        "mechanical": 71.11,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\resizable-vertical.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 194,
      "functions": [
        {
          "name": "ResizableDemo",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 20,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.93,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.0,
        "mechanical": 97.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\skeleton-card.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 95,
      "functions": [
        {
          "name": "SkeletonCard",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.48,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\spinner-color.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 108,
      "functions": [
        {
          "name": "SpinnerColor",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 11,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.81,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\table-demo.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 521,
      "functions": [
        {
          "name": "TableDemo",
          "type": "function_declaration",
          "line_start": 57,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.7,
        "mechanical": 93.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\toggle-disabled.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 66,
      "functions": [
        {
          "name": "ToggleDisabled",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\toggle-lg.tsx",
      "language": "tsx",
      "line_count": 12,
      "token_estimate": 58,
      "functions": [
        {
          "name": "ToggleLg",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 12,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-h2.tsx",
      "language": "tsx",
      "line_count": 8,
      "token_estimate": 49,
      "functions": [
        {
          "name": "TypographyH2",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 7,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 8,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.14,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\examples\\typography-p.tsx",
      "language": "tsx",
      "line_count": 9,
      "token_estimate": 61,
      "functions": [
        {
          "name": "TypographyP",
          "type": "function_declaration",
          "line_start": 1,
          "line_end": 8,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 8,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 9,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\sidebar-footer.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 468,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 43,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 24,
              "description": "Function is 43 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 43 lines (> 37 dynamic threshold)",
                "impact": "Function AppSidebar is 43 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0814,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 43,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.59,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.37,
        "mechanical": 86.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\internal\\sidebar-menu-sub.tsx",
      "language": "tsx",
      "line_count": 181,
      "token_estimate": 870,
      "functions": [
        {
          "name": "AppSidebar",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 156,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-xss-in-href",
              "severity": "critical",
              "line": 164,
              "description": "User-provided data used in href attribute without sanitization - javascript: URI injection enables XSS",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1944,
          "ai_signals": [
            "High anti-pattern density (0.56)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 36,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 181,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.01105,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 89.44,
        "mechanical": 89.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 197,
      "token_estimate": 1362,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.127,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.127,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.127,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.127,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.127,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.127,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.127,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.127,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.127,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.127,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 147,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.127,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.127,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 13.5,
        "function_length_stddev": 4.93,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 197,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.9,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6351,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.95,
        "mechanical": 98.95,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 221,
      "token_estimate": 1950,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 163,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 18,
              "description": "Function is 163 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 163 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 163 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 33,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 148,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 162,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1292,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 182,
          "line_end": 218,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 196,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 192,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 191,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 192,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3718,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 100,
        "function_length_stddev": 89.1,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 221,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.97,
        "debug_artifacts": [],
        "ai_smell_count": 9,
        "ai_smell_density": 0.040724,
        "structural_uniformity": 0.109,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.57,
        "mechanical": 68.57,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 253,
      "token_estimate": 2067,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 163,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 187,
          "line_end": 205,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 207,
          "line_end": 218,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 220,
          "line_end": 234,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0991,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 14.13,
        "function_length_stddev": 7.13,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 253,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4955,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.76,
        "mechanical": 98.76,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 381,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 11,
        "function_length_stddev": 8.72,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2075,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 54,
      "token_estimate": 464,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.02,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.02,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.02,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.67,
        "function_length_stddev": 13.2,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 54,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.43,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0998,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.6,
        "mechanical": 98.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 191,
      "token_estimate": 1588,
      "functions": [
        {
          "name": "Select",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0697,
          "ai_signals": []
        },
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0697,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0697,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 51,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0697,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 53,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0697,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 101,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0697,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 103,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0697,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 141,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0697,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0697,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 161,
          "line_end": 177,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0697,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 16,
        "function_length_stddev": 10.42,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 191,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3485,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.75,
        "mechanical": 97.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\new-york-v4\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 36,
      "token_estimate": 352,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 26,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 36,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.96,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.2,
        "mechanical": 95.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\registry\\themes.ts",
      "language": "typescript",
      "line_count": 1087,
      "token_estimate": 11136,
      "functions": [],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 2,
        "comment_lines": 0,
        "code_lines": 1087,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 53,
      "token_estimate": 481,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 21,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 53,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.43,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.7,
        "mechanical": 96.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 337,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2237,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 77,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 79,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 104,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 106,
          "line_end": 128,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 130,
          "line_end": 152,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 154,
          "line_end": 185,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 187,
          "line_end": 194,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 196,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0531,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 11.36,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.76,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2657,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 219,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.47,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 39,
      "token_estimate": 399,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 36,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.099,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 14,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 39,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.49,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4949,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 520,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.13,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-luma\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 411,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.98,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 123,
      "token_estimate": 646,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 60,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 73,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 75,
          "line_end": 91,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 93,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1371,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.14,
        "function_length_stddev": 4.45,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 123,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.17,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.4,
        "mechanical": 98.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 22,
      "token_estimate": 164,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 7,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1467,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.73)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 4.33,
        "function_length_stddev": 1.15,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 22,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 9.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7335,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 102,
      "token_estimate": 591,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1653,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1653,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1653,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1653,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1653,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1653,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.33,
        "function_length_stddev": 1.97,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 102,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.33,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8265,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.6,
        "mechanical": 99.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 126,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 418,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-lyra\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 67,
      "token_estimate": 712,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 16.07,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 67,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.02,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 622,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1599,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 18,
        "function_length_stddev": 3.61,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7997,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 301,
      "token_estimate": 2280,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 34,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 80,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.376,
          "ai_signals": [
            "High anti-pattern density (0.88)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 161,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 163,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 186,
          "line_end": 190,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 192,
          "line_end": 203,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 205,
          "line_end": 216,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 218,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 264,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 266,
          "line_end": 277,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 279,
          "line_end": 281,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0672,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.56,
        "function_length_stddev": 10.33,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 301,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009967,
        "structural_uniformity": 0.336,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.37,
        "mechanical": 95.37,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1509,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 282,
      "token_estimate": 2065,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 51,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 67,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 107,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 109,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 171,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 173,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 204,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 206,
          "line_end": 220,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 222,
          "line_end": 226,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 228,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 248,
          "line_end": 262,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0831,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 13.94,
        "function_length_stddev": 8.14,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 282,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.19,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4157,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.82,
        "mechanical": 98.82,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 406,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-maia\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\accordion.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 663,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1008,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 17.75,
        "function_length_stddev": 8.81,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5038,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.67,
        "mechanical": 97.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\button.tsx",
      "language": "tsx",
      "line_count": 59,
      "token_estimate": 772,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 14,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 59,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.78,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.8,
        "mechanical": 98.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\command.tsx",
      "language": "tsx",
      "line_count": 194,
      "token_estimate": 1251,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 145,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 147,
          "line_end": 165,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 167,
          "line_end": 181,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1277,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.44,
        "function_length_stddev": 6.31,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 194,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.28,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6385,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.77,
        "mechanical": 97.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\hover-card.tsx",
      "language": "tsx",
      "line_count": 52,
      "token_estimate": 465,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 15,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 17,
          "line_end": 49,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.67,
        "function_length_stddev": 16.77,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 52,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.9,
        "mechanical": 98.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 515,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.37,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\select.tsx",
      "language": "tsx",
      "line_count": 206,
      "token_estimate": 1671,
      "functions": [
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2209,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 59,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function SelectContent is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1766,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 112,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 114,
          "line_end": 140,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 142,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0913,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 19.33,
        "function_length_stddev": 10.51,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 206,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.94,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.009709,
        "structural_uniformity": 0.4563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.77,
        "mechanical": 94.77,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-mira\\ui\\switch.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 427,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.87,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 188,
      "token_estimate": 1326,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 25,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 78,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 80,
          "line_end": 94,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 96,
          "line_end": 110,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 112,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1125,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 157,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 168,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3312,
          "ai_signals": [
            "High anti-pattern density (0.62)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 12.75,
        "function_length_stddev": 5.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 188,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.72,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005319,
        "structural_uniformity": 0.5625,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.85,
        "mechanical": 97.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\calendar.tsx",
      "language": "tsx",
      "line_count": 232,
      "token_estimate": 2104,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1584,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 229,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 211,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3668,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105,
        "function_length_stddev": 96.17,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 232,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.83,
        "debug_artifacts": [],
        "ai_smell_count": 11,
        "ai_smell_density": 0.047414,
        "structural_uniformity": 0.0841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 66.9,
        "mechanical": 66.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\context-menu.tsx",
      "language": "tsx",
      "line_count": 273,
      "token_estimate": 2035,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 13,
          "line_end": 17,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 143,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 145,
          "line_end": 156,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 158,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 197,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 199,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 227,
          "line_end": 238,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 240,
          "line_end": 254,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0761,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.47,
        "function_length_stddev": 9.58,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 273,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.34,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.3804,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.36,
        "mechanical": 98.36,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\input-group.tsx",
      "language": "tsx",
      "line_count": 159,
      "token_estimate": 1323,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 58,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 58,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 61,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.5005,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 97,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3255,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 107,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 109,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4687,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 149,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.83,
        "function_length_stddev": 3.92,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 159,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.9,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044025,
        "structural_uniformity": 0.7524,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.24,
        "mechanical": 87.24,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 172,
      "token_estimate": 1927,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 27,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 24,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3106,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 29,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 62,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuPositioner",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 125,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 127,
          "line_end": 141,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 143,
          "line_end": 159,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1439,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.72)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.75,
        "function_length_stddev": 4.98,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 172,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.96,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.005814,
        "structural_uniformity": 0.7195,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.22,
        "mechanical": 96.22,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\separator.tsx",
      "language": "tsx",
      "line_count": 26,
      "token_estimate": 136,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 17,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 26,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui-rtl\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.39,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 516,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 661,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.86,
        "function_length_stddev": 2.67,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.55,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7746,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.44,
        "mechanical": 99.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 160,
      "token_estimate": 1018,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function DialogContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1042,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 117,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 130,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 132,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0144,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.8,
        "function_length_stddev": 11.88,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 160,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.87,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.00625,
        "structural_uniformity": 0.0721,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.14,
        "mechanical": 97.14,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 635,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 134,
      "token_estimate": 729,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 67,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 52,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4147,
          "ai_signals": [
            "High anti-pattern density (0.87)"
          ]
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 69,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 123,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1104,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.57,
        "function_length_stddev": 6.53,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 134,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.25,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.014925,
        "structural_uniformity": 0.552,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.18,
        "mechanical": 94.18,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 138,
      "token_estimate": 1107,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 42,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 39,
              "description": "Function is 42 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 42 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 42 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.0833,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 90,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 92,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 113,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 115,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.8,
        "function_length_stddev": 11.68,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 138,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.08,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007246,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.72,
        "mechanical": 97.72,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-nova\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 83,
      "token_estimate": 874,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1505,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.75)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 13.75,
        "function_length_stddev": 3.4,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 83,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.93,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7525,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\aspect-ratio.tsx",
      "language": "tsx",
      "line_count": 23,
      "token_estimate": 100,
      "functions": [
        {
          "name": "AspectRatio",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 12,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 12,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 23,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.41,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.086957,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 75.86,
        "mechanical": 75.86,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\carousel.tsx",
      "language": "tsx",
      "line_count": 243,
      "token_estimate": 1419,
      "functions": [
        {
          "name": "useCarousel",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "Carousel",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 89,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 45,
              "description": "Function is 89 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 89 lines (> 37 dynamic threshold)",
                "impact": "Function Carousel is 89 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 108,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 71,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 75,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 103,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 114,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 61,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 62,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 64,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 70,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 74,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 78,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 91,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 96,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 114,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3706,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "CarouselContent",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 154,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 144,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1956,
          "ai_signals": []
        },
        {
          "name": "CarouselItem",
          "type": "function_declaration",
          "line_start": 156,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselPrevious",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 202,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        },
        {
          "name": "CarouselNext",
          "type": "function_declaration",
          "line_start": 204,
          "line_end": 232,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0206,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 32.17,
        "function_length_stddev": 28.86,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 243,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.01,
        "debug_artifacts": [],
        "ai_smell_count": 16,
        "ai_smell_density": 0.065844,
        "structural_uniformity": 0.1028,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 73.05,
        "mechanical": 73.05,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\direction.tsx",
      "language": "tsx",
      "line_count": 7,
      "token_estimate": 25,
      "functions": [
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 0,
        "avg_function_length": 0.0,
        "function_length_stddev": 0.0,
        "import_count": 0,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 7,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 8.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\input.tsx",
      "language": "tsx",
      "line_count": 21,
      "token_estimate": 253,
      "functions": [
        {
          "name": "Input",
          "type": "function_declaration",
          "line_start": 6,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 8,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2692,
          "ai_signals": [
            "High anti-pattern density (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 13,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 21,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.95,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.047619,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.2,
        "mechanical": 87.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\popover.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 646,
      "functions": [
        {
          "name": "Popover",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 10,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTrigger",
          "type": "function_declaration",
          "line_start": 12,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverContent",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 33,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverHeader",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverTitle",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "PopoverDescription",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 81,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0064,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.5,
        "function_length_stddev": 11.13,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.86,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0321,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\sidebar.tsx",
      "language": "tsx",
      "line_count": 724,
      "token_estimate": 5425,
      "functions": [
        {
          "name": "useSidebar",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 8,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarProvider",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 150,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 95,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 56,
              "description": "Function is 95 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 95 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarProvider is 95 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 134,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 134,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-window-event-listener-missing-cleanup",
              "severity": "high",
              "line": 108,
              "description": "window/document event listener added in useEffect without cleanup on unmount - causes memory leaks and ghost handlers",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 70,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 74,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 76,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "nextjs-cookie-security",
              "severity": "high",
              "line": 86,
              "description": "Cookie set without security flags (httpOnly, secure, sameSite) - vulnerable to XSS theft and CSRF",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-usecallback-no-benefit",
              "severity": "low",
              "line": 92,
              "description": "useCallback wrapping a function that is not passed as a prop - memoization provides no benefit since nothing depends on reference stability",
              "fix_type": "deterministic"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 97,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3529,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "Sidebar",
          "type": "function_declaration",
          "line_start": 152,
          "line_end": 252,
          "metrics": {
            "cyclomatic_complexity": 8,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 101,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 152,
              "description": "Function is 101 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 101 lines (> 37 dynamic threshold)",
                "impact": "Function Sidebar is 101 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 192,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 192,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1069,
          "ai_signals": []
        },
        {
          "name": "SidebarTrigger",
          "type": "function_declaration",
          "line_start": 254,
          "line_end": 278,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarRail",
          "type": "function_declaration",
          "line_start": 280,
          "line_end": 303,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-missing-aria-labels",
              "severity": "high",
              "line": 284,
              "description": "Interactive element without aria-label or aria-labelledby - screen readers cannot convey the element's purpose",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.1488,
          "ai_signals": []
        },
        {
          "name": "SidebarInset",
          "type": "function_declaration",
          "line_start": 305,
          "line_end": 316,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarInput",
          "type": "function_declaration",
          "line_start": 318,
          "line_end": 330,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarHeader",
          "type": "function_declaration",
          "line_start": 332,
          "line_end": 341,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarFooter",
          "type": "function_declaration",
          "line_start": 343,
          "line_end": 352,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarSeparator",
          "type": "function_declaration",
          "line_start": 354,
          "line_end": 366,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarContent",
          "type": "function_declaration",
          "line_start": 368,
          "line_end": 380,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroup",
          "type": "function_declaration",
          "line_start": 382,
          "line_end": 391,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupLabel",
          "type": "function_declaration",
          "line_start": 393,
          "line_end": 415,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupAction",
          "type": "function_declaration",
          "line_start": 417,
          "line_end": 439,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarGroupContent",
          "type": "function_declaration",
          "line_start": 441,
          "line_end": 453,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenu",
          "type": "function_declaration",
          "line_start": 455,
          "line_end": 464,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuItem",
          "type": "function_declaration",
          "line_start": 466,
          "line_end": 475,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuButton",
          "type": "function_declaration",
          "line_start": 499,
          "line_end": 551,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 53,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 499,
              "description": "Function is 53 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 53 lines (> 37 dynamic threshold)",
                "impact": "Function SidebarMenuButton is 53 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 521,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.135,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuAction",
          "type": "function_declaration",
          "line_start": 553,
          "line_end": 581,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuBadge",
          "type": "function_declaration",
          "line_start": 583,
          "line_end": 598,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSkeleton",
          "type": "function_declaration",
          "line_start": 600,
          "line_end": 636,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 629,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 629,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-usestate-should-reducer",
              "severity": "medium",
              "line": 608,
              "description": "3+ related useState hooks that always update together - should be consolidated into useReducer for atomic updates",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2867,
          "ai_signals": [
            "High anti-pattern density (0.81)"
          ]
        },
        {
          "name": "SidebarMenuSub",
          "type": "function_declaration",
          "line_start": 638,
          "line_end": 650,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubItem",
          "type": "function_declaration",
          "line_start": 652,
          "line_end": 664,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        },
        {
          "name": "SidebarMenuSubButton",
          "type": "function_declaration",
          "line_start": 666,
          "line_end": 696,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0029,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 24,
        "avg_function_length": 25.21,
        "function_length_stddev": 24.84,
        "import_count": 13,
        "export_count": 1,
        "comment_lines": 9,
        "code_lines": 715,
        "comment_ratio": 0.0124,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.53,
        "debug_artifacts": [],
        "ai_smell_count": 19,
        "ai_smell_density": 0.026573,
        "structural_uniformity": 0.0146,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 86.75,
        "mechanical": 86.75,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\base-vega\\ui\\textarea.tsx",
      "language": "tsx",
      "line_count": 19,
      "token_estimate": 204,
      "functions": [
        {
          "name": "Textarea",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 12,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 19,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.4,
        "mechanical": 99.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\avatar.tsx",
      "language": "tsx",
      "line_count": 113,
      "token_estimate": 774,
      "functions": [
        {
          "name": "Avatar",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarImage",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarFallback",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarBadge",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroup",
          "type": "function_declaration",
          "line_start": 76,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "AvatarGroupCount",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.17,
        "function_length_stddev": 2.23,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 113,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.89,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8531,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.45,
        "mechanical": 98.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\chart.tsx",
      "language": "tsx",
      "line_count": 374,
      "token_estimate": 2636,
      "functions": [
        {
          "name": "useChart",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 0,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0123,
          "ai_signals": []
        },
        {
          "name": "ChartContainer",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 41,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 42,
              "description": "Function is 41 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 41 lines (> 37 dynamic threshold)",
                "impact": "Function ChartContainer is 41 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 73,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 63,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 60,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3538,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartStyle",
          "type": "arrow_function",
          "line_start": 84,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 94,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-object-literal-jsx-prop",
              "severity": "medium",
              "line": 94,
              "description": "Object/array literal in JSX prop - creates new reference every render, breaks React.memo and causes unnecessary child re-renders",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 103,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 103,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "ChartTooltipContent",
          "type": "function_declaration",
          "line_start": 119,
          "line_end": 271,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 153,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 119,
              "description": "Function is 153 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 153 lines (> 37 dynamic threshold)",
                "impact": "Function ChartTooltipContent is 153 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 223,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 235,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 235,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-unnecessary-fragment",
              "severity": "low",
              "line": 218,
              "description": "React.Fragment wrapping a single child - adds unnecessary nesting",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 150,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 155,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 159,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 160,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 185,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 215,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 219,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 252,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3555,
          "ai_signals": [
            "High anti-pattern density (0.98)"
          ]
        },
        {
          "name": "ChartLegendContent",
          "type": "function_declaration",
          "line_start": 275,
          "line_end": 328,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 54,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 275,
              "description": "Function is 54 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 54 lines (> 37 dynamic threshold)",
                "impact": "Function ChartLegendContent is 54 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 287,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 312,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 322,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2716,
          "ai_signals": [
            "High anti-pattern density (0.74)"
          ]
        },
        {
          "name": "getPayloadConfigFromPayload",
          "type": "function_declaration",
          "line_start": 330,
          "line_end": 364,
          "metrics": {
            "cyclomatic_complexity": 12,
            "max_nesting_depth": 2,
            "parameter_count": 3,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 330,
              "description": "Function is 35 lines (> 15 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 35 lines (> 15 dynamic threshold)",
                "impact": "Function getPayloadConfigFromPayload is 35 lines \u2014 exceeds 15 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 350,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 352,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 356,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 358,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 359,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 350,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 352,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 356,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 358,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 359,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3623,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-dangerouslysetinnerhtml-user-input",
              "severity": "critical",
              "line": 95,
              "description": "dangerouslySetInnerHTML without sanitization \u2014 XSS risk",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 54,
        "function_length_stddev": 50.68,
        "import_count": 4,
        "export_count": 2,
        "comment_lines": 1,
        "code_lines": 373,
        "comment_ratio": 0.0027,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.18,
        "debug_artifacts": [],
        "ai_smell_count": 40,
        "ai_smell_density": 0.107239,
        "structural_uniformity": 0.0616,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 52.09,
        "mechanical": 52.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\drawer.tsx",
      "language": "tsx",
      "line_count": 135,
      "token_estimate": 1035,
      "functions": [
        {
          "name": "Drawer",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerPortal",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerClose",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerHeader",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerFooter",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerTitle",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "DrawerDescription",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 10.5,
        "function_length_stddev": 5.78,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 135,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.59,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4497,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\item.tsx",
      "language": "tsx",
      "line_count": 197,
      "token_estimate": 1199,
      "functions": [
        {
          "name": "ItemGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemSeparator",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "Item",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemMedia",
          "type": "function_declaration",
          "line_start": 95,
          "line_end": 108,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemContent",
          "type": "function_declaration",
          "line_start": 110,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemTitle",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemDescription",
          "type": "function_declaration",
          "line_start": 136,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemActions",
          "type": "function_declaration",
          "line_start": 149,
          "line_end": 157,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemHeader",
          "type": "function_declaration",
          "line_start": 159,
          "line_end": 170,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "ItemFooter",
          "type": "function_declaration",
          "line_start": 172,
          "line_end": 183,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1605,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 12.8,
        "function_length_stddev": 2.53,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 197,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.04,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8024,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.91,
        "mechanical": 98.91,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\progress.tsx",
      "language": "tsx",
      "line_count": 32,
      "token_estimate": 186,
      "functions": [
        {
          "name": "Progress",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 32,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.11,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.15,
        "mechanical": 95.15,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\skeleton.tsx",
      "language": "tsx",
      "line_count": 14,
      "token_estimate": 69,
      "functions": [
        {
          "name": "Skeleton",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 11,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 9,
        "function_length_stddev": 0.0,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 14,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.3,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-luma\\ui\\toggle-group.tsx",
      "language": "tsx",
      "line_count": 90,
      "token_estimate": 816,
      "functions": [
        {
          "name": "ToggleGroup",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 35,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-context-value-not-memoized",
              "severity": "high",
              "line": 49,
              "description": "Context Provider value is an object literal - creates new reference every render, causing all consumers to re-render",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 42,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 42,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4782,
          "ai_signals": [
            "High anti-pattern density (0.86)",
            "Suspiciously uniform function lengths (0.89)"
          ]
        },
        {
          "name": "ToggleGroupItem",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 5,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1782,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.89)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 32.5,
        "function_length_stddev": 3.54,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 90,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.75,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.8912,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.92,
        "mechanical": 79.92,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\badge.tsx",
      "language": "tsx",
      "line_count": 50,
      "token_estimate": 466,
      "functions": [
        {
          "name": "Badge",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 18,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 50,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.28,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.1,
        "mechanical": 95.1,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\checkbox.tsx",
      "language": "tsx",
      "line_count": 33,
      "token_estimate": 347,
      "functions": [
        {
          "name": "Checkbox",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 33,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.4,
        "mechanical": 96.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\dropdown-menu.tsx",
      "language": "tsx",
      "line_count": 274,
      "token_estimate": 2228,
      "functions": [
        {
          "name": "DropdownMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuPortal",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuTrigger",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuContent",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuGroup",
          "type": "function_declaration",
          "line_start": 56,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuItem",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 32,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 120,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuRadioItem",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 160,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuLabel",
          "type": "function_declaration",
          "line_start": 162,
          "line_end": 180,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSeparator",
          "type": "function_declaration",
          "line_start": 182,
          "line_end": 193,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuShortcut",
          "type": "function_declaration",
          "line_start": 195,
          "line_end": 209,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSub",
          "type": "function_declaration",
          "line_start": 211,
          "line_end": 215,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 217,
          "line_end": 239,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "DropdownMenuSubContent",
          "type": "function_declaration",
          "line_start": 241,
          "line_end": 255,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0879,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.53,
        "function_length_stddev": 8.71,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 274,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.22,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4394,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.34,
        "mechanical": 98.34,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\kbd.tsx",
      "language": "tsx",
      "line_count": 27,
      "token_estimate": 209,
      "functions": [
        {
          "name": "Kbd",
          "type": "function_declaration",
          "line_start": 3,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        },
        {
          "name": "KbdGroup",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1596,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.80)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 10.5,
        "function_length_stddev": 2.12,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 27,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.5,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.798,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.85,
        "mechanical": 99.85,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\radio-group.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 423,
      "functions": [
        {
          "name": "RadioGroup",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "RadioGroupItem",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1168,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 17,
        "function_length_stddev": 7.07,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.66,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5841,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.9,
        "mechanical": 97.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\slider.tsx",
      "language": "tsx",
      "line_count": 60,
      "token_estimate": 463,
      "functions": [
        {
          "name": "Slider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 8,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function Slider is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-magic-numbers",
              "severity": "low",
              "line": 13,
              "description": "Unexplained numeric literals in code - unclear what the number represents, hard to maintain",
              "fix_type": "deterministic"
            }
          ],
          "ai_confidence": 0.14,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 50,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 60,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.1,
        "debug_artifacts": [],
        "ai_smell_count": 2,
        "ai_smell_density": 0.033333,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 79.67,
        "mechanical": 79.67,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-lyra\\ui\\toggle.tsx",
      "language": "tsx",
      "line_count": 48,
      "token_estimate": 435,
      "functions": [
        {
          "name": "Toggle",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 48,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.94,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\breadcrumb.tsx",
      "language": "tsx",
      "line_count": 120,
      "token_estimate": 622,
      "functions": [
        {
          "name": "Breadcrumb",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbList",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbItem",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbLink",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbPage",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbSeparator",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        },
        {
          "name": "BreadcrumbEllipsis",
          "type": "function_declaration",
          "line_start": 90,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1402,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.70)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 13.86,
        "function_length_stddev": 4.14,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 120,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7012,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.13,
        "mechanical": 98.13,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\collapsible.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 198,
      "functions": [
        {
          "name": "Collapsible",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 9,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleTrigger",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "CollapsibleContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1441,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 8.33,
        "function_length_stddev": 2.89,
        "import_count": 1,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 10.8,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6536,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\empty.tsx",
      "language": "tsx",
      "line_count": 105,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Empty",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 16,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyHeader",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyMedia",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyTitle",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 69,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyDescription",
          "type": "function_declaration",
          "line_start": 71,
          "line_end": 82,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        },
        {
          "name": "EmptyContent",
          "type": "function_declaration",
          "line_start": 84,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1729,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.86)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 11.83,
        "function_length_stddev": 1.6,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 105,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.35,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8646,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.45,
        "mechanical": 99.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\label.tsx",
      "language": "tsx",
      "line_count": 25,
      "token_estimate": 151,
      "functions": [
        {
          "name": "Label",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 22,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 15,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 25,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.5,
        "mechanical": 98.5,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\resizable.tsx",
      "language": "tsx",
      "line_count": 51,
      "token_estimate": 417,
      "functions": [
        {
          "name": "ResizablePanelGroup",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizablePanel",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "ResizableHandle",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0559,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 13.33,
        "function_length_stddev": 9.61,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 51,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.65,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2793,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.38,
        "mechanical": 98.38,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\sonner.tsx",
      "language": "tsx",
      "line_count": 46,
      "token_estimate": 281,
      "functions": [
        {
          "name": "Toaster",
          "type": "arrow_function",
          "line_start": 13,
          "line_end": 43,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 17,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 18,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 28,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 18,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 28,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.35,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 31,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 46,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.38,
        "debug_artifacts": [],
        "ai_smell_count": 5,
        "ai_smell_density": 0.108696,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 68.7,
        "mechanical": 68.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-maia\\ui\\tooltip.tsx",
      "language": "tsx",
      "line_count": 58,
      "token_estimate": 547,
      "functions": [
        {
          "name": "TooltipProvider",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 19,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "Tooltip",
          "type": "function_declaration",
          "line_start": 21,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipTrigger",
          "type": "function_declaration",
          "line_start": 27,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "TooltipContent",
          "type": "function_declaration",
          "line_start": 33,
          "line_end": 55,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0489,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 11.25,
        "function_length_stddev": 8.5,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 58,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.62,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2444,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.62,
        "mechanical": 99.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\button-group.tsx",
      "language": "tsx",
      "line_count": 84,
      "token_estimate": 588,
      "functions": [
        {
          "name": "ButtonGroup",
          "type": "function_declaration",
          "line_start": 24,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupText",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 50,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3607,
          "ai_signals": [
            "High anti-pattern density (0.53)",
            "Suspiciously uniform function lengths (0.88)"
          ]
        },
        {
          "name": "ButtonGroupSeparator",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 76,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1765,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.88)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 17,
        "function_length_stddev": 2.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 84,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011905,
        "structural_uniformity": 0.8824,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 94.09,
        "mechanical": 94.09,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\combobox.tsx",
      "language": "tsx",
      "line_count": 303,
      "token_estimate": 2309,
      "functions": [
        {
          "name": "ComboboxValue",
          "type": "function_declaration",
          "line_start": 18,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxTrigger",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxClear",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 50,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxInput",
          "type": "function_declaration",
          "line_start": 52,
          "line_end": 87,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 65,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 66,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 82,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3568,
          "ai_signals": [
            "High anti-pattern density (0.83)"
          ]
        },
        {
          "name": "ComboboxContent",
          "type": "function_declaration",
          "line_start": 89,
          "line_end": 124,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxList",
          "type": "function_declaration",
          "line_start": 126,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxItem",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 163,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxGroup",
          "type": "function_declaration",
          "line_start": 165,
          "line_end": 173,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxLabel",
          "type": "function_declaration",
          "line_start": 175,
          "line_end": 186,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxCollection",
          "type": "function_declaration",
          "line_start": 188,
          "line_end": 192,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxEmpty",
          "type": "function_declaration",
          "line_start": 194,
          "line_end": 205,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxSeparator",
          "type": "function_declaration",
          "line_start": 207,
          "line_end": 218,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChips",
          "type": "function_declaration",
          "line_start": 220,
          "line_end": 235,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChip",
          "type": "function_declaration",
          "line_start": 237,
          "line_end": 266,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 30,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "ComboboxChipsInput",
          "type": "function_declaration",
          "line_start": 268,
          "line_end": 279,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        },
        {
          "name": "useComboboxAnchor",
          "type": "function_declaration",
          "line_start": 281,
          "line_end": 283,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0651,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 15.69,
        "function_length_stddev": 10.58,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 303,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.06,
        "debug_artifacts": [],
        "ai_smell_count": 3,
        "ai_smell_density": 0.009901,
        "structural_uniformity": 0.3255,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.35,
        "mechanical": 95.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\field.tsx",
      "language": "tsx",
      "line_count": 239,
      "token_estimate": 1500,
      "functions": [
        {
          "name": "FieldSet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLegend",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 39,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldGroup",
          "type": "function_declaration",
          "line_start": 41,
          "line_end": 52,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "Field",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldContent",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldLabel",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 16,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 129,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldDescription",
          "type": "function_declaration",
          "line_start": 131,
          "line_end": 144,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldSeparator",
          "type": "function_declaration",
          "line_start": 146,
          "line_end": 174,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0723,
          "ai_signals": []
        },
        {
          "name": "FieldError",
          "type": "function_declaration",
          "line_start": 176,
          "line_end": 225,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 1,
            "parameter_count": 1,
            "line_count": 50,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 176,
              "description": "Function is 50 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 50 lines (> 37 dynamic threshold)",
                "impact": "Function FieldError is 50 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "react-usememo-no-benefit",
              "severity": "low",
              "line": 184,
              "description": "useMemo wrapping a trivially cheap value - memoization overhead exceeds computation cost, adds unnecessary complexity",
              "fix_type": "deterministic"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 189,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 194,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 197,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 198,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 205,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-conditional-rendering-anti-pattern",
              "severity": "medium",
              "line": 182,
              "description": "Complex nested ternary or && chain for conditional rendering - hard to read and error-prone",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4223,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 18.9,
        "function_length_stddev": 12.07,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 239,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.9,
        "debug_artifacts": [],
        "ai_smell_count": 8,
        "ai_smell_density": 0.033473,
        "structural_uniformity": 0.3614,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 88.16,
        "mechanical": 88.16,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\menubar.tsx",
      "language": "tsx",
      "line_count": 282,
      "token_estimate": 2174,
      "functions": [
        {
          "name": "Menubar",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarMenu",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarGroup",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarPortal",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioGroup",
          "type": "function_declaration",
          "line_start": 40,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarTrigger",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarContent",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarItem",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarCheckboxItem",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 139,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarRadioItem",
          "type": "function_declaration",
          "line_start": 141,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarLabel",
          "type": "function_declaration",
          "line_start": 169,
          "line_end": 187,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarSeparator",
          "type": "function_declaration",
          "line_start": 189,
          "line_end": 200,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarShortcut",
          "type": "function_declaration",
          "line_start": 202,
          "line_end": 216,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarSub",
          "type": "function_declaration",
          "line_start": 218,
          "line_end": 222,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarSubTrigger",
          "type": "function_declaration",
          "line_start": 224,
          "line_end": 246,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "MenubarSubContent",
          "type": "function_declaration",
          "line_start": 248,
          "line_end": 262,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0899,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 16,
        "avg_function_length": 14.94,
        "function_length_stddev": 8.23,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 282,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4493,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.52,
        "mechanical": 98.52,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\scroll-area.tsx",
      "language": "tsx",
      "line_count": 56,
      "token_estimate": 423,
      "functions": [
        {
          "name": "ScrollArea",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "ScrollBar",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1937,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.97)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 22.5,
        "function_length_stddev": 0.71,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 56,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.79,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.9686,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.25,
        "mechanical": 96.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-mira\\ui\\spinner.tsx",
      "language": "tsx",
      "line_count": 17,
      "token_estimate": 82,
      "functions": [
        {
          "name": "Spinner",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 10,
        "function_length_stddev": 0.0,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 17,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.46,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 100.0,
        "mechanical": 100.0,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\accordion.tsx",
      "language": "tsx",
      "line_count": 88,
      "token_estimate": 685,
      "functions": [
        {
          "name": "Accordion",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "AccordionItem",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 33,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "AccordionTrigger",
          "type": "function_declaration",
          "line_start": 35,
          "line_end": 62,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "AccordionContent",
          "type": "function_declaration",
          "line_start": 64,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1146,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.5,
        "function_length_stddev": 7.9,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 88,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.5732,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.45,
        "mechanical": 97.45,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\button.tsx",
      "language": "tsx",
      "line_count": 68,
      "token_estimate": 835,
      "functions": [
        {
          "name": "Button",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 65,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 22,
        "function_length_stddev": 0.0,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 68,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.75,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.9,
        "mechanical": 93.9,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\command.tsx",
      "language": "tsx",
      "line_count": 196,
      "token_estimate": 1245,
      "functions": [
        {
          "name": "Command",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandDialog",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 31,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandInput",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 89,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandList",
          "type": "function_declaration",
          "line_start": 91,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandEmpty",
          "type": "function_declaration",
          "line_start": 107,
          "line_end": 118,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandGroup",
          "type": "function_declaration",
          "line_start": 120,
          "line_end": 134,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandSeparator",
          "type": "function_declaration",
          "line_start": 136,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandItem",
          "type": "function_declaration",
          "line_start": 149,
          "line_end": 167,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "CommandShortcut",
          "type": "function_declaration",
          "line_start": 169,
          "line_end": 183,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1305,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 9,
        "avg_function_length": 17.33,
        "function_length_stddev": 6.02,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 196,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.24,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6526,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.8,
        "mechanical": 97.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\hover-card.tsx",
      "language": "tsx",
      "line_count": 45,
      "token_estimate": 380,
      "functions": [
        {
          "name": "HoverCard",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "HoverCardContent",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0415,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 11,
        "function_length_stddev": 8.72,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 45,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.71,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2075,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.7,
        "mechanical": 99.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\native-select.tsx",
      "language": "tsx",
      "line_count": 57,
      "token_estimate": 495,
      "functions": [
        {
          "name": "NativeSelect",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 37,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 28,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOption",
          "type": "function_declaration",
          "line_start": 39,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        },
        {
          "name": "NativeSelectOptGroup",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 54,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0233,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 3,
        "avg_function_length": 14.33,
        "function_length_stddev": 12.66,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 57,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.44,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.1166,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.7,
        "mechanical": 98.7,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\select.tsx",
      "language": "tsx",
      "line_count": 196,
      "token_estimate": 1706,
      "functions": [
        {
          "name": "Select",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectGroup",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectValue",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectTrigger",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 58,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 25,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectContent",
          "type": "function_declaration",
          "line_start": 60,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 37,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectLabel",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 109,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectItem",
          "type": "function_declaration",
          "line_start": 111,
          "line_end": 133,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectSeparator",
          "type": "function_declaration",
          "line_start": 135,
          "line_end": 146,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectScrollUpButton",
          "type": "function_declaration",
          "line_start": 148,
          "line_end": 164,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "SelectScrollDownButton",
          "type": "function_declaration",
          "line_start": 166,
          "line_end": 182,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0815,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 16.5,
        "function_length_stddev": 9.78,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 196,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4074,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.6,
        "mechanical": 97.6,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui-rtl\\switch.tsx",
      "language": "tsx",
      "line_count": 34,
      "token_estimate": 508,
      "functions": [
        {
          "name": "Switch",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 31,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 24,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 24,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 34,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.81,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 95.8,
        "mechanical": 95.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\alert-dialog.tsx",
      "language": "tsx",
      "line_count": 200,
      "token_estimate": 1412,
      "functions": [
        {
          "name": "AlertDialog",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogPortal",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 29,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogOverlay",
          "type": "function_declaration",
          "line_start": 31,
          "line_end": 45,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogContent",
          "type": "function_declaration",
          "line_start": 47,
          "line_end": 68,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogHeader",
          "type": "function_declaration",
          "line_start": 70,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogFooter",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 100,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogMedia",
          "type": "function_declaration",
          "line_start": 102,
          "line_end": 116,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogTitle",
          "type": "function_declaration",
          "line_start": 118,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogDescription",
          "type": "function_declaration",
          "line_start": 134,
          "line_end": 148,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogAction",
          "type": "function_declaration",
          "line_start": 150,
          "line_end": 166,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        },
        {
          "name": "AlertDialogCancel",
          "type": "function_declaration",
          "line_start": 168,
          "line_end": 184,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1284,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 12,
        "avg_function_length": 13.75,
        "function_length_stddev": 4.92,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 200,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.88,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.6422,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.88,
        "mechanical": 98.88,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\calendar.tsx",
      "language": "tsx",
      "line_count": 233,
      "token_estimate": 2106,
      "functions": [
        {
          "name": "Calendar",
          "type": "function_declaration",
          "line_start": 19,
          "line_end": 191,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 173,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 19,
              "description": "Function is 173 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 173 lines (> 37 dynamic threshold)",
                "impact": "Function Calendar is 173 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 35,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 154,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 163,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 171,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 175,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 47,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.1607,
          "ai_signals": []
        },
        {
          "name": "CalendarDayButton",
          "type": "function_declaration",
          "line_start": 193,
          "line_end": 230,
          "metrics": {
            "cyclomatic_complexity": 4,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 38,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 193,
              "description": "Function is 38 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 38 lines (> 37 dynamic threshold)",
                "impact": "Function CalendarDayButton is 38 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            },
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 208,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 204,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 212,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-multiple-useeffect-same-deps",
              "severity": "low",
              "line": 203,
              "description": "Multiple useEffect hooks with identical dependency arrays - could be combined into one effect",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 204,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.369,
          "ai_signals": [
            "High anti-pattern density (1.00)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 2,
        "avg_function_length": 105.5,
        "function_length_stddev": 95.46,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 233,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.82,
        "debug_artifacts": [],
        "ai_smell_count": 13,
        "ai_smell_density": 0.055794,
        "structural_uniformity": 0.0952,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 64.8,
        "mechanical": 64.8,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\context-menu.tsx",
      "language": "tsx",
      "line_count": 268,
      "token_estimate": 2103,
      "functions": [
        {
          "name": "ContextMenu",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 13,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuTrigger",
          "type": "function_declaration",
          "line_start": 15,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuGroup",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuPortal",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 42,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 7,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSub",
          "type": "function_declaration",
          "line_start": 44,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioGroup",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 10,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuContent",
          "type": "function_declaration",
          "line_start": 61,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuItem",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubTrigger",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 126,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSubContent",
          "type": "function_declaration",
          "line_start": 128,
          "line_end": 142,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuCheckboxItem",
          "type": "function_declaration",
          "line_start": 144,
          "line_end": 172,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuRadioItem",
          "type": "function_declaration",
          "line_start": 174,
          "line_end": 200,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 27,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuLabel",
          "type": "function_declaration",
          "line_start": 202,
          "line_end": 220,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuSeparator",
          "type": "function_declaration",
          "line_start": 222,
          "line_end": 233,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "ContextMenuShortcut",
          "type": "function_declaration",
          "line_start": 235,
          "line_end": 249,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0967,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 15,
        "avg_function_length": 15.13,
        "function_length_stddev": 7.82,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 268,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.2,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.4834,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.46,
        "mechanical": 98.46,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\input-group.tsx",
      "language": "tsx",
      "line_count": 157,
      "token_estimate": 1306,
      "functions": [
        {
          "name": "InputGroup",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 23,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 13,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupAddon",
          "type": "function_declaration",
          "line_start": 46,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-type-assertion-jsx",
              "severity": "medium",
              "line": 58,
              "description": "Type assertion (as) on JSX expressions or component return values - hides type mismatches that could be real bugs",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "ts-type-assertion-abuse",
              "severity": "medium",
              "line": 58,
              "description": "Excessive use of 'as' type assertions instead of proper type narrowing - bypasses the type system, masks real type errors",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 61,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            },
            {
              "id": "react-autofocus-accessibility",
              "severity": "low",
              "line": 61,
              "description": "Auto-focusing an element without checking prefers-reduced-motion or user preferences - jarring for some users",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.504,
          "ai_signals": [
            "High anti-pattern density (1.00)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupButton",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 103,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 95,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.3485,
          "ai_signals": [
            "High anti-pattern density (0.56)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupText",
          "type": "function_declaration",
          "line_start": 105,
          "line_end": 115,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 107,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.4722,
          "ai_signals": [
            "High anti-pattern density (0.91)",
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupInput",
          "type": "function_declaration",
          "line_start": 117,
          "line_end": 131,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "InputGroupTextarea",
          "type": "function_declaration",
          "line_start": 133,
          "line_end": 147,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.154,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 6,
        "avg_function_length": 15.5,
        "function_length_stddev": 3.56,
        "import_count": 6,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 157,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.93,
        "debug_artifacts": [],
        "ai_smell_count": 7,
        "ai_smell_density": 0.044586,
        "structural_uniformity": 0.7701,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 87.2,
        "mechanical": 87.2,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\navigation-menu.tsx",
      "language": "tsx",
      "line_count": 168,
      "token_estimate": 1636,
      "functions": [
        {
          "name": "NavigationMenu",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 23,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuList",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuItem",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 59,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuTrigger",
          "type": "function_declaration",
          "line_start": 65,
          "line_end": 83,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuContent",
          "type": "function_declaration",
          "line_start": 85,
          "line_end": 99,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuViewport",
          "type": "function_declaration",
          "line_start": 101,
          "line_end": 121,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 21,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuLink",
          "type": "function_declaration",
          "line_start": 123,
          "line_end": 137,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "NavigationMenuIndicator",
          "type": "function_declaration",
          "line_start": 139,
          "line_end": 155,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1575,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 17.12,
        "function_length_stddev": 3.64,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 168,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.91,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7873,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.55,
        "mechanical": 97.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\separator.tsx",
      "language": "tsx",
      "line_count": 29,
      "token_estimate": 161,
      "functions": [
        {
          "name": "Separator",
          "type": "function_declaration",
          "line_start": 8,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 1,
        "avg_function_length": 19,
        "function_length_stddev": 0.0,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 29,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.69,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.0,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.3,
        "mechanical": 97.3,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-nova\\ui\\table.tsx",
      "language": "tsx",
      "line_count": 117,
      "token_estimate": 600,
      "functions": [
        {
          "name": "Table",
          "type": "function_declaration",
          "line_start": 7,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHeader",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableBody",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 40,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableFooter",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 53,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableRow",
          "type": "function_declaration",
          "line_start": 55,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableHead",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 79,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCell",
          "type": "function_declaration",
          "line_start": 81,
          "line_end": 92,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "TableCaption",
          "type": "function_declaration",
          "line_start": 94,
          "line_end": 105,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1706,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.85)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 8,
        "avg_function_length": 11.5,
        "function_length_stddev": 1.69,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 117,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.38,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.853,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.55,
        "mechanical": 99.55,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\alert.tsx",
      "language": "tsx",
      "line_count": 77,
      "token_estimate": 516,
      "functions": [
        {
          "name": "Alert",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 35,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 14,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertTitle",
          "type": "function_declaration",
          "line_start": 37,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertDescription",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 64,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        },
        {
          "name": "AlertAction",
          "type": "function_declaration",
          "line_start": 66,
          "line_end": 74,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1577,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.79)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 12.5,
        "function_length_stddev": 2.65,
        "import_count": 3,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 77,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.09,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7883,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.25,
        "mechanical": 99.25,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\card.tsx",
      "language": "tsx",
      "line_count": 104,
      "token_estimate": 654,
      "functions": [
        {
          "name": "Card",
          "type": "function_declaration",
          "line_start": 5,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardHeader",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardTitle",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 47,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardDescription",
          "type": "function_declaration",
          "line_start": 49,
          "line_end": 57,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardAction",
          "type": "function_declaration",
          "line_start": 59,
          "line_end": 70,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardContent",
          "type": "function_declaration",
          "line_start": 72,
          "line_end": 80,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        },
        {
          "name": "CardFooter",
          "type": "function_declaration",
          "line_start": 82,
          "line_end": 93,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1549,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.77)"
          ]
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 11.86,
        "function_length_stddev": 2.67,
        "import_count": 2,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 104,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 5.61,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.7746,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 99.44,
        "mechanical": 99.44,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\dialog.tsx",
      "language": "tsx",
      "line_count": 165,
      "token_estimate": 1036,
      "functions": [
        {
          "name": "Dialog",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 14,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogTrigger",
          "type": "function_declaration",
          "line_start": 16,
          "line_end": 20,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogPortal",
          "type": "function_declaration",
          "line_start": 22,
          "line_end": 26,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogClose",
          "type": "function_declaration",
          "line_start": 28,
          "line_end": 32,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogOverlay",
          "type": "function_declaration",
          "line_start": 34,
          "line_end": 48,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogContent",
          "type": "function_declaration",
          "line_start": 50,
          "line_end": 85,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 36,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogHeader",
          "type": "function_declaration",
          "line_start": 87,
          "line_end": 95,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogFooter",
          "type": "function_declaration",
          "line_start": 97,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 26,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogTitle",
          "type": "function_declaration",
          "line_start": 124,
          "line_end": 135,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "DialogDescription",
          "type": "function_declaration",
          "line_start": 137,
          "line_end": 151,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0432,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 13.3,
        "function_length_stddev": 10.42,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 165,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.1,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.2162,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.56,
        "mechanical": 98.56,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\input-otp.tsx",
      "language": "tsx",
      "line_count": 87,
      "token_estimate": 637,
      "functions": [
        {
          "name": "InputOTP",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 28,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 20,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPGroup",
          "type": "function_declaration",
          "line_start": 30,
          "line_end": 41,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        },
        {
          "name": "InputOTPSlot",
          "type": "function_declaration",
          "line_start": 43,
          "line_end": 71,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 29,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "react-optional-chaining-in-render-without-fallback",
              "severity": "low",
              "line": 51,
              "description": "Optional chaining used in JSX render without fallback - renders nothing when value is null, causing layout shift",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2319,
          "ai_signals": []
        },
        {
          "name": "InputOTPSeparator",
          "type": "function_declaration",
          "line_start": 73,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1113,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 18.25,
        "function_length_stddev": 8.1,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 87,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.4,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.011494,
        "structural_uniformity": 0.5563,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 93.4,
        "mechanical": 93.4,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\pagination.tsx",
      "language": "tsx",
      "line_count": 133,
      "token_estimate": 719,
      "functions": [
        {
          "name": "Pagination",
          "type": "function_declaration",
          "line_start": 11,
          "line_end": 21,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 11,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationContent",
          "type": "function_declaration",
          "line_start": 23,
          "line_end": 34,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationItem",
          "type": "function_declaration",
          "line_start": 36,
          "line_end": 38,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationLink",
          "type": "function_declaration",
          "line_start": 45,
          "line_end": 66,
          "metrics": {
            "cyclomatic_complexity": 3,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 22,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-passing-non-serializable-props",
              "severity": "high",
              "line": 58,
              "description": "Passing functions, classes, Date objects, or other non-serializable values from Server Component to Client Component - will cause runtime serialization error",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.2715,
          "ai_signals": []
        },
        {
          "name": "PaginationPrevious",
          "type": "function_declaration",
          "line_start": 68,
          "line_end": 84,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationNext",
          "type": "function_declaration",
          "line_start": 86,
          "line_end": 102,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        },
        {
          "name": "PaginationEllipsis",
          "type": "function_declaration",
          "line_start": 104,
          "line_end": 122,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 19,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1124,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 7,
        "avg_function_length": 14.43,
        "function_length_stddev": 6.32,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 133,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 7.23,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.007519,
        "structural_uniformity": 0.5619,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 96.08,
        "mechanical": 96.08,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\sheet.tsx",
      "language": "tsx",
      "line_count": 144,
      "token_estimate": 1133,
      "functions": [
        {
          "name": "Sheet",
          "type": "function_declaration",
          "line_start": 10,
          "line_end": 12,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 3,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0169,
          "ai_signals": []
        },
        {
          "name": "SheetTrigger",
          "type": "function_declaration",
          "line_start": 14,
          "line_end": 18,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0169,
          "ai_signals": []
        },
        {
          "name": "SheetClose",
          "type": "function_declaration",
          "line_start": 20,
          "line_end": 24,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0169,
          "ai_signals": []
        },
        {
          "name": "SheetPortal",
          "type": "function_declaration",
          "line_start": 26,
          "line_end": 30,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 5,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0169,
          "ai_signals": []
        },
        {
          "name": "SheetOverlay",
          "type": "function_declaration",
          "line_start": 32,
          "line_end": 46,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0169,
          "ai_signals": []
        },
        {
          "name": "SheetContent",
          "type": "function_declaration",
          "line_start": 48,
          "line_end": 86,
          "metrics": {
            "cyclomatic_complexity": 2,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 39,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "function-too-long",
              "severity": "medium",
              "line": 48,
              "description": "Function is 39 lines (> 37 dynamic threshold)",
              "fix_type": "cataloged_refactor",
              "evidence": {
                "detection_method": "metric-threshold",
                "proof": "Function is 39 lines (> 37 dynamic threshold)",
                "impact": "Function SheetContent is 39 lines \u2014 exceeds 37 dynamic threshold",
                "recommendation": "Decompose into smaller, single-responsibility functions",
                "confidence": 0.85,
                "fix_type": "cataloged_refactor",
                "references": []
              }
            }
          ],
          "ai_confidence": 0.1066,
          "ai_signals": []
        },
        {
          "name": "SheetHeader",
          "type": "function_declaration",
          "line_start": 88,
          "line_end": 96,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0169,
          "ai_signals": []
        },
        {
          "name": "SheetFooter",
          "type": "function_declaration",
          "line_start": 98,
          "line_end": 106,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 9,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0169,
          "ai_signals": []
        },
        {
          "name": "SheetTitle",
          "type": "function_declaration",
          "line_start": 108,
          "line_end": 119,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0169,
          "ai_signals": []
        },
        {
          "name": "SheetDescription",
          "type": "function_declaration",
          "line_start": 121,
          "line_end": 132,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.0169,
          "ai_signals": []
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 10,
        "avg_function_length": 11.4,
        "function_length_stddev": 10.44,
        "import_count": 5,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 144,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.0,
        "debug_artifacts": [],
        "ai_smell_count": 1,
        "ai_smell_density": 0.006944,
        "structural_uniformity": 0.0845,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 97.62,
        "mechanical": 97.62,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    },
    {
      "path": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\styles\\radix-vega\\ui\\tabs.tsx",
      "language": "tsx",
      "line_count": 91,
      "token_estimate": 893,
      "functions": [
        {
          "name": "Tabs",
          "type": "function_declaration",
          "line_start": 9,
          "line_end": 25,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 17,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsList",
          "type": "function_declaration",
          "line_start": 42,
          "line_end": 56,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 15,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsTrigger",
          "type": "function_declaration",
          "line_start": 58,
          "line_end": 75,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 18,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "TabsContent",
          "type": "function_declaration",
          "line_start": 77,
          "line_end": 88,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 1,
            "line_count": 12,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [],
          "ai_confidence": 0.1659,
          "ai_signals": [
            "Suspiciously uniform function lengths (0.83)"
          ]
        },
        {
          "name": "__file_level__",
          "type": "file",
          "line_start": 0,
          "line_end": 0,
          "metrics": {
            "cyclomatic_complexity": 1,
            "max_nesting_depth": 0,
            "parameter_count": 0,
            "line_count": 0,
            "any_count": 0,
            "non_null_assertions": 0,
            "useState_count": 0,
            "useEffect_count": 0,
            "try_catch_count": 0
          },
          "anti_patterns": [
            {
              "id": "nextjs-unnecessary-use-client",
              "severity": "medium",
              "line": 1,
              "description": "'use client' directive on a component that uses no browser APIs \u2014 bloats client bundle unnecessarily",
              "fix_type": "cataloged_refactor"
            }
          ],
          "ai_confidence": 0.0,
          "ai_signals": []
        }
      ],
      "file_metrics": {
        "total_functions": 4,
        "avg_function_length": 15.5,
        "function_length_stddev": 2.65,
        "import_count": 4,
        "export_count": 1,
        "comment_lines": 0,
        "code_lines": 91,
        "comment_ratio": 0.0,
        "comment_what_ratio": 0.0,
        "naming_avg_length": 6.05,
        "debug_artifacts": [],
        "ai_smell_count": 0,
        "ai_smell_density": 0.0,
        "structural_uniformity": 0.8293,
        "ai_debt_score": 0.0,
        "suppressed_findings": 0,
        "unused_imports": 0
      },
      "baseline_comparison": null,
      "health_score": {
        "composite": 98.35,
        "mechanical": 98.35,
        "subjective": 0.0,
        "weights": {
          "mechanical": 1.0,
          "subjective": 0.0
        }
      }
    }
  ],
  "summary": {
    "files_analyzed": 3005,
    "files_skipped": 6,
    "skip_reasons": {
      "generated_code": 5,
      "binary": 0,
      "minified": 1,
      "empty": 0,
      "too_large": 0,
      "no_grammar": 0,
      "permission_denied": 0,
      "ignored": 0,
      "parse_error": 0
    },
    "total_functions": 8369,
    "total_anti_patterns": 7755,
    "anti_patterns_by_severity": {
      "critical": 136,
      "high": 1823,
      "medium": 4329,
      "low": 1467
    },
    "ai_authored_functions": 0,
    "worst_file": "K:\\TrueMend\\benchmarks\\validation\\ui\\apps\\v4\\app\\(app)\\create\\lib\\preset-code.ts",
    "ci_pass": null,
    "threshold_violations": [],
    "health_score": {
      "composite": 89.63,
      "mechanical": 89.63,
      "subjective": 0.0,
      "weights": {
        "mechanical": 1.0,
        "subjective": 0.0
      }
    }
  }
}
